1 using System;
2 using
System.Collections;
3 using
System.Collections.Generic;
4 using
System.ComponentModel;
5 using
System.Drawing;
6 using
System.Data;
7 using
System.Linq;
8 using
System.Text;
9 using
System.Threading.Tasks;
10 using
System.Windows.Forms;
11 using
System.Globalization;
12
13 namespace
SoftQuanLyNhaHang.Views
14 {
15
16     
public delegate void BtnClick_NhapHang_ChiTiet_EventHandler(object sender, EventArgs e, int IdNhapHang, int NhaCungCapId, string trangThaiNhapHang);
17
18     
public partial class uctNhapHang : UserControl
19     {
20
21         
public event BtnClick_NhapHang_ChiTiet_EventHandler btnClickSendLink_NhapHang_ChiTiet;
22
23         
public static uctNhapHang uctNH = new uctNhapHang();
24
25         
public uctNhapHang()
26         {
27             InitializeComponent();
28         }
29
30         
private int _getNhapHangId = 0;
31         
private int _getNhaCungCapId = 0;
32
33         
//--https://www.codeproject.com/Questions/157356/Perform-action-when-changing-selected-item-in-a-co
34         
//ComboBox cbm;
35         
//--http://camposha.info/source/c-datagridview-combobox-column-selection-event/
36         
//ComboBox combo;
37         
//DataGridViewCell currentCell;
38         DataTable dtT =
new DataTable();
39
40         
//gioi han textchange
41         
bool loadlandau = true;
42
43         
/*
44         
private static double _thue_mh;
45         
protected double Thue_mh
46         {
47             
get
48             {
49                 
return _thue_mh;
50             }
51             
set
52             {
53                 _thue_mh =
value;
54             }
55         }
56         */

57         
private static string _chietKhau_theo;
58         
protected string ChietKhau_Theo
59         {
60             
get
61             {
62                 
return _chietKhau_theo;
63             }
64             
set
65             {
66                 _chietKhau_theo =
value;
67             }
68         }
69
70         
private static double _tongmotmhclickDgv;
71         
protected double TongMotMatHangClickDgv
72         {
73             
get
74             {
75                 
return _tongmotmhclickDgv;
76             }
77             
set
78             {
79                 _tongmotmhclickDgv =
value;
80             }
81         }
82
83         
private static double _tongmotdonhang;
84         
protected double TongMotDonHang
85         {
86             
get
87             {
88                 
return _tongmotdonhang;
89             }
90             
set
91             {
92                 _tongmotdonhang =
value;
93             }
94         }
95
96         
double _tongDonHang = 0;
97         
double _tongDonHangAll = 0;
98         
//double _tongMotMatHang = 0;
99         
double _thueMotMatHang = 0;
100         
double _noNhaCc = 0;
101         
double _tienThanhToan = 0;
102
103
104
105         
//Bảng nhập hàng
106         
//int _IdNhapHang = 0;
107
108
109         DateTime _NgayTao = DateTime.Now;
110         
string _TrangThai_NH = "NhapHangMoi";
111         
double _GiamGiaDonHang = 0;
112         
double _GiamGiaTatCaCacMuc = 0;
113         
double _TongDonHang = 0;
114         
//double _No_NCC = 0;
115         
double _NCC_NoChuCuaHang = 0;
116         
string _GhiChu = string.Empty;
117         
//int NhaCungCapId = 0;
118         
double _ChiPhiThem = 0;
119         
string _MoTaChiPhiThem = string.Empty;
120         
string _TenDonHang = string.Empty;
121
122         
//double tongTienMot_DonHang_TruMatHangDangEdit = 0;
123         
//double tongTienTrongDonHangTruSanPhamDangEDIT = 0;
124         
//double tongTienMot_MatHang_ClickTuDgv = 0;
125         
//double tongTienMot_MatHang_DangEdit = 0;
126
127         
//double tongMotMatHangdgc_click = 0;
128         
//double thueClickDgv = 0;
129
130         
//Bảng kho
131         
int _IdKho = 0;
132         
string _MaSanPham = string.Empty;
133         
string _MaVietTat = string.Empty;
134         
string _TenSanPham = string.Empty;
135         
int _NhomSanPhamId = 0;
136         
int _DonViTinhId = 0;
137         
int _DanhMucId = 0;
138         
//int _NhaCungCapId = 0;
139         
//int _NhapHangId = 0;
140         
string _AnhDaiDien = string.Empty;
141         
int _HanMucDatHang = 0;
142         
string _HanSuDung = string.Empty;
143         
string _NgaySanXuat = string.Empty;
144         DateTime _NgayHetHan = DateTime.Now;
145         
string _MoTa = string.Empty;
146         
double _GiaNhap = 0;
147         
double _SoLuong = 0;
148         
float _SoLuongDaBan = 0;
149         
//double _Thue = 0;
150         
double _ChietKhau_PhanTram = 0;
151         
//double _ChietKhau_Tien = 0;
152
153         
double _TiLeLoiNhuan = 0;
154         
double _GiaBanLe = 0;
155         
double _GiaBanBuon = 0;
156         
double _GiaKhuyenMai = 0;
157
158         
float _ThueBanHang = 0;
159         
float _ChietKhauPTBanHang = 0;
160
161         DateTime _NgayBatDauGiamGia = DateTime.Now;
162         DateTime _NgayKetThuc = DateTime.Now;
163         
//string _TrangThai_K = "SuDung";
164         
//string _ChietKhauTheo = "PhanTram";
165         
//string _txtCk = "0";
166         
double _TienThue = 0;
167         
double _TienChietKhau = 0;
168
169         
//string txt_GNhap = "";
170         
//string txt_SLuong = "";
171         
//string txt_CK_PhanTram = "";
172         
//string txt_Ck_TienMat = "";
173
174         
//Bảng nhà cung cấp
175         
//int _IdNhaCungCap = 0;
176         
string _TrangThai_NCC = "SuDung";
177         DateTime _NgayTao_NCC = DateTime.Now;
178         
string _HoVaTen_NCC = string.Empty;
179         
string _SoDienThoai_NCC = string.Empty;
180         
string _DiaChi_NCC = string.Empty;
181         
string _TenCongTy_NCC = string.Empty;
182         
string _Dc_Email_NCC = string.Empty;
183         DateTime _NgayThanhLap_NgaySinh_NCC = DateTime.Now;
184         
string _AnhDaiDien_NCC = string.Empty;
185         
string _GhiChu_NCC = string.Empty;
186
187         
//Phân trang
188         
int _pageSize = 30;
189         
int _pageIndex = 1;
190         
int _tongSoBanGhi = 0;
191         
int _stt = 0;
192         
//int _stt_thue = 0;
193         
//int _tongSoTrang = 1;
194         
int n = 0;
195
196         
//cong no
197         
//chi phi them > 0 thi them vao bang congno <=> thu chi
198         
//int tc = 0;
199         
//int _IdCongNo = 0;
200         
//string _TieuDe = string.Empty;
201         
//string _LoaiThuChi = "NhapHang";
202         
//double _SoTien = 0;
203         
//string _DienGiai = string.Empty;
204        
// string _HinhThuc = "Chi";
205        
// float thueThuChi = 0;
206
207         
//Khởi tạo biến
208         DataTable dt =
new DataTable();
209         DataTable dtCauHinh =
new DataTable();
210
211         
string value = "";
212         
ulong ul = 0;
213         
int i = 0;
214         
//string replace_text = string.Empty;
215         
//double _thanhTien = 0;
216         
//string dieuKien = "ThemMoi";
217         
//int rowIndex = 0;
218
219         
int spNhapHang_CoTrongCSDL = 0;
220         DataTable dttt =
new DataTable();
221         
double tienDtt = 0;
222
223         
private void uctNhapHang_Load(object sender, EventArgs e)
224         {
225
226             
this.loadcontrol();
227
228             
//Mac dinh tinh theo %
229             
//this.rdoBtnChietKhau_PhanTram.Checked = true;
230             
//this.rdoBtnChiPhiPhatSinh_PhanTram.Checked = true;
231
232             
//Test hiển thị danh sách sản phẩm
233             
//_IdNhapHang = 92;
234             
//this.HienThiDanhSachSanPham_ByIdNhapHang();
235
236             
//Control chuột để vào mã sản phẩm
237             
this.txtMaSanPham.Focus();
238
239             
//ẩn nút nhập mới
240             btnNhapMoi.Visible =
false;
241
242             
/*
243             //--https://www.codeproject.com/Questions/
157356/Perform-action-when-changing-selected-item-in-a-co
244             // Create and fill a DataTable
as a source of our combobox column
245             DataTable typedt =
new DataTable();
246             typedt.Columns.Add(
"typeid", typeof(int));
247             typedt.Columns.Add(
"typename");
248             typedt.Columns.Add(
"typedescription");
249
250             typedt.Rows.Add(
0, "0", "description0");
251             typedt.Rows.Add(
5, "5", "description 5");
252             typedt.Rows.Add(
10, "10", "description 10");
253             typedt.Rows.Add(
11, "5", "description 5");
254             typedt.Rows.Add(
12, "10", "description 10");
255             typedt.AcceptChanges();
256  
257             // Fill the GridView source table
258             dt.Columns.Add(
"id");
259             dt.Columns.Add(
"Tên sản phẩm");
260             dt.Columns.Add(
"type", typeof(int));
261             dt.Columns.Add(
"Tiền thuế");
262
263             
for (int i = 0; i < 50; i++)
264             {
265                 dt.Rows.Add(i.ToString(
"000"), "name" + i, i % 4);
266             }
267                 
268  
269             dt.AcceptChanges();
270  
271             // Set the data source
for the grid
272             dataGridView1.DataSource = dt;
273  
274             // Create
new combobox column and set it's data source
275             DataGridViewComboBoxColumn cbc =
new DataGridViewComboBoxColumn();
276             cbc.DataPropertyName =
"type";
277             cbc.DisplayMember =
"typename";
278             cbc.ValueMember =
"typeid";
279             cbc.DataSource = typedt;
280             cbc.HeaderText =
"Thuế";
281  
282             // Replace the third column of the grid view with the combobox column
283             dataGridView1.Columns.RemoveAt(
2);
284             dataGridView1.Columns.Insert(
2, cbc);
285  
286             // We will handle these events of the DataGridView
287             dataGridView1.CellEndEdit +=
new DataGridViewCellEventHandler(dataGridView1_CellEndEdit);
288             dataGridView1.EditingControlShowing +=
new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing);
289             */

290         }
291
292         
293         
private void HienThiDonViTinh_ComboBox()
294         {
295             Dictionary<
string, string> comboSource = new Dictionary<string, string>();
296             comboSource.Add(
"0", "-- Chọn đơn vị tính --");
297             DataTable dtdvt =
new DataTable();
298             dtdvt = Controllers.DonViTinhCtrl.FillDataSetDonViTinh_GetDanhSach().Tables[
0];// Models.NhapKhoMod.FillDataSet_getTenDonViTinh().Tables[0];
299
300             
if (dtdvt.Rows.Count > 0)
301             {
302                 
foreach (DataRow item in dtdvt.Rows)
303                 {
304                     comboSource.Add(item[
"IdDonViTinh"].ToString(), item["TenDonViTinh"].ToString());
305                 }
306
307             }
308             cmbDonViTinh.DataSource =
new BindingSource(comboSource, null);
309             cmbDonViTinh.DisplayMember =
"Value";
310             cmbDonViTinh.ValueMember =
"Key";
311         }
312
313
314         
private void HienThi_Thue_ComboBox()
315         {
316             Dictionary<
string, string> comboSource = new Dictionary<string, string>();
317             
318             DataTable dtThue =
new DataTable();
319             dtThue = Controllers.ThueCtrl.FillDataSetThue_GetShowDropdow().Tables[
0];
320
321             
if (dtThue.Rows.Count > 0)
322             {
323                 
foreach (DataRow item in dtThue.Rows)
324                 {
325                     comboSource.Add(item[
"Thue"].ToString(), item["Thue"].ToString());
326                 }
327
328             }
329             cmbThue.DataSource =
new BindingSource(comboSource, null);
330             cmbThue.DisplayMember =
"Value";
331             cmbThue.ValueMember =
"Key";
332         }
333         
334      
335         
void loadcontrol()
336         {
337             
this.HienThiDonViTinh_ComboBox();
338
339             
this.HienThi_Thue_ComboBox();
340         }
341
342         
private void HienThiDanhSachThue()
343         {
344
345             
/*
346             dgvThue.Rows.Clear();
347
348             //Ẩn cột đầu tiên
349             //dgvThue.RowHeadersVisible =
false;
350             //-https://stackoverflow.com/questions/
17404969/right-align-a-column-in-datagridview-doesnt-work
351             //
this.dgvThue.Columns["STT_Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
352             //
this.dgvThue.Columns["STT_Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
353             //
this.dgvThue.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
354
355             //
this.dgvThue.Columns["Thue_Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
356             //
this.dgvThue.Columns["Thue_Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
357
358             //
this.dgvThue.Columns["TienThue_Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
359             //
this.dgvThue.Columns["TienThue_Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
360
361
362
363             //
select từ bảng kho
364             DataTable dtThue =
new DataTable();
365
366             dtThue = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-
1, _IdNhapHang, 1000, _pageIndex).Tables[0];
367             
368             
369             
if (dtThue.Rows.Count > 0)
370             {
371
372                 _stt_thue =
0;
373                 btnLuuThayDoi.Visible =
true;
374                 //_tongSoBanGhi = Int32.Parse(dt.Rows[
0]["TongSoBanGhi"].ToString());
375
376                 
foreach (DataRow item in dtThue.Rows)
377                 {
378                     _stt_thue +=
1;
379                     
int nthue = dgvThue.Rows.Add();
380
381                     dgvThue.Rows[nthue].Cells[
0].Value = item["IdKho"].ToString();
382                     dgvThue.Rows[nthue].Cells[
1].Value = _stt_thue.ToString();
383                     dgvThue.Rows[nthue].Cells[
2].Value = item["TenSanPham"].ToString();
384                     dgvThue.Rows[nthue].Cells[
3].Value = item["Thue"].ToString();// item["Thue"].ToString();
385                     dgvThue.Rows[nthue].Cells[
4].Value = item["Thue"].ToString();
386
387                     
388                     //Hiển thị màu dòng trong datagridview
389                     
if (nthue == rowIndex)
390                     {
391                         //Set backgroud cho row
392                         
this.dgvThue.Rows[rowIndex].DefaultCellStyle.BackColor = Color.Yellow;
393                     }
394                 }
395             }
396             
else
397             {
398                 _tongSoBanGhi =
0;
399                 btnLuuThayDoi.Visible =
false;
400             }
401
402             
403             */

404         }
405
406         
private void ClearForm_Kho()
407         {
408             txtMaSanPham.Text =
"";
409             txtMaVietTat.Text =
"";
410             txtTenSanPham.Text =
"";
411             txtSoLuong.Text =
"";
412             txtGiaNhap.Text =
"";
413             txtChietKhau_PhanTram.Text =
"";
414             txtChietKhau_TienMat.Text =
"";
415             cmbThue.SelectedValue =
"0";
416             cmbDonViTinh.SelectedValue =
"0";
417             lblTongTienMotMatHang.Text =
"0";
418         }
419
420         
private void HienThi_Text_TrongForm(DataTable dt, string tbl_Table = "")
421         {
422             
//txtMaSanPham.Text = "";
423             
//txtTenSanPham.Text = dt.Rows[0]["TenSanPham"].ToString();
424             
//txtSoLuong.Text = "1";
425
426         }
427
428         
private void btnLuuVaTiepTuc_Click(object sender, EventArgs e)
429         {
430             
//kiem tra ma don hang
431             
this.DonHangDangNhap_La();
432
433             
//load lan dau tien
434             loadlandau =
true;
435
436             
try
437             {
438                 _MaSanPham = txtMaSanPham.Text.Trim();
439
440                 
if (string.IsNullOrEmpty(_MaSanPham) && string.IsNullOrEmpty(_MaVietTat))
441                 {
442                     MessageBox.Show(
"Mã sản phẩm không được để trống");
443                     txtMaSanPham.Focus();
444                     
return;
445                 }
446             }
447             
catch { }
448
449             
try
450             {
451                 _MaVietTat = txtMaVietTat.Text.Trim();
452
453                 
if (string.IsNullOrEmpty(_MaVietTat))
454                 {
455                     _MaVietTat = txtMaSanPham.Text.Trim();
456                 }
457             }
458             
catch { }
459
460             
try
461             {
462                 _TenSanPham = txtTenSanPham.Text.Trim();
463
464                 
if (string.IsNullOrEmpty(_TenSanPham))
465                 {
466                     MessageBox.Show(
"Tên sản phẩm không được để trống");
467                     txtTenSanPham.Focus();
468                     
return;
469                 }
470             }
471             
catch { }
472
473             
try
474             {
475                 
if (string.IsNullOrEmpty(txtSoLuong.Text.Trim()))
476                 {
477                     _SoLuong =
0;
478                 }
479                 
else
480                 {
481                     _SoLuong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),
true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtSoLuong.Text.Trim()));
482                 }
483
484             }
485             
catch { }
486
487             
try
488             {
489                 _DonViTinhId = Int32.Parse(cmbDonViTinh.SelectedValue.ToString());
490
491                 
if (_DonViTinhId == 0)
492                 {
493                     MessageBox.Show(
"Bạn chưa chọn đơn vị tính");
494                     cmbDonViTinh.Focus();
495                     
return;
496                 }
497             }
498             
catch { }
499
500             
try
501             {
502
503                 
if (string.IsNullOrEmpty(txtGiaNhap.Text.Trim()))
504                 {
505                     _GiaNhap =
0;
506                     MessageBox.Show(
"Giá sản phẩm không được để trống!");
507                     txtGiaNhap.Focus();
508
509                     
//hien thi textchanged
510                     loadlandau =
false;
511
512                     
513                     
return;
514                 }
515                 
else
516                 {
517                     _GiaNhap = CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text,
true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtGiaNhap.Text.Trim()));
518                 }
519             }
520             
catch { }
521
522
523             
try
524             {
525                 
if (string.IsNullOrEmpty(txtChietKhau_PhanTram.Text.Trim()))
526                 {
527                     _ChietKhau_PhanTram =
0;
528                 }
529                 
else
530                 {
531                     _ChietKhau_PhanTram = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(),
true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtChietKhau_PhanTram.Text.Trim()));
532                 }
533
534             }
535             
catch { }
536
537             
try
538             {
539                 
if (string.IsNullOrEmpty(txtChietKhau_TienMat.Text.Trim()))
540                 {
541                     _TienChietKhau =
0;
542                 }
543                 
else
544                 {
545                     _TienChietKhau = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(),
true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtChietKhau_TienMat.Text.Trim()));
546                 }
547
548             }
549             
catch { }
550
551             
if (rdoBtnChietKhau_PhanTram.Checked == true)
552             {
553                 
this.ChietKhau_Theo = "PhanTram";
554             }
555             
else
556             {
557                 
this.ChietKhau_Theo = "TienChietKhau";
558             }
559
560             
try
561             {
562                 _thueMotMatHang =
double.Parse(cmbThue.SelectedValue.ToString());
563             }
564             
catch { }
565
566             txtMaSanPham.Enabled =
true;
567
568             
/*
569             //kiểm tra tồn tại mã sản phẩm trong mã viết tắt
570             DataTable dtKiemTraKho =
new DataTable();
571             dtKiemTraKho = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_MaVietTat_KiemTraTonTai(_MaSanPham,
0, _MaVietTat).Tables[0];
572             
if (dtKiemTraKho.Rows.Count > 0)
573             {
574                 
foreach (DataRow item in dtKiemTraKho.Rows)
575                 {
576                     
if (_MaSanPham == item["MaVietTat"].ToString())
577                     {
578                         MessageBox.Show(
"Mã sản phẩm đã tồn tại");
579                     }
580                     
else
581                     {
582                         MessageBox.Show(
"Mã viết tắt đã tồn tại trong mã sản phẩm");
583                     }
584                 }
585                 
586                 
return;
587             }
588              */

589
590             
591
592
593             i =
0;
594             
595             
//if (spNhapHang_CoTrongCSDL == 0)//khong có trong csdl
596             
if (_IdKho == 0) // khong co trong csdl
597             {
598                 
599
600                 
//Thêm sản phẩm vào bảng nhập kho
601                 
//i = Controllers.KhoCtrl.InsertKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _NhaCungCapId, _IdNhapHang, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_K, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat);
602                 i = Controllers.KhoCtrl.InsertKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _getNhaCungCapId, _getNhapHangId, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_NH, _NgayTao,
this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat, _ThueBanHang,_ChietKhauPTBanHang,_SoLuongDaBan);
603                 
if (i > 0)
604                 {
605                     
//Hiển thị sang tabPage danh sách nhập kho
606                     tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
607
608                     
this.ClearForm_Kho();
609
610                     txtMaSanPham.Focus();
611                     
//this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang);
612                 }
613                 
else
614                 {
615                     
//MessageBox.Show("Sửa không thành công");
616                     
//this.ClearForm_Kho();
617                 }
618             }
619             
else
620             {
621
622                 
//Thêm sản phẩm vào bảng nhập kho
623                 
//i = Controllers.KhoCtrl.UpdateKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _NhaCungCapId, _IdNhapHang, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_K, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat);
624                
// i =
625                
// Controllers.KhoCtrl.UpdateKho(_IdKho, _MaSanPham, _TenSanPham, _NhomSanPhamId, _DonViTinhId, _DanhMucId, _NhaCungCapId, _getNhapHangId, _AnhDaiDien, _HanMucDatHang, _HanSuDung, _NgaySanXuat, _NgayHetHan, _MoTa, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram, _TiLeLoiNhuan, _GiaBanLe, _GiaBanBuon, _GiaKhuyenMai, _NgayBatDauGiamGia, _NgayKetThuc, _TrangThai_NH, _NgayTao, this.ChietKhau_Theo, _TienThue, _TienChietKhau, _MaVietTat, _ThueBanHang, _ChietKhauPTBanHang, _SoLuongDaBan);
626                 Controllers.KhoCtrl.UpdateKho_FormNhapHang(_IdKho, _MaSanPham, _MaVietTat, _TenSanPham, _DonViTinhId, _GiaNhap, _SoLuong, _thueMotMatHang, _ChietKhau_PhanTram,
this.ChietKhau_Theo, _TienChietKhau);
627                
// if (i > 0)
628                
// {
629                     
//Hiển thị sang tabPage danh sách nhập kho
630                     tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
631
632                     
this.ClearForm_Kho();
633                     
634                     txtMaSanPham.Focus();
635                     
//this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang);
636                 
//}
637                 
//else
638                 
//{
639                     
//MessageBox.Show("Sửa không thành công");
640                     
//this.ClearForm_Kho();
641                
// }
642             }
643         }
644
645         
private void btnClear_Click(object sender, EventArgs e)
646         {
647             loadlandau =
false;
648
649             
this.ClearForm_Kho();
650
651             txtMaSanPham.Enabled =
true;
652
653             tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
654
655             txtMaSanPham.Focus();
656         }
657
658         
private void btnThanhToan_Click(object sender, EventArgs e)
659         {
660             _TrangThai_NH =
"NhapHang";
661
662             
this.UpdateNhapHang(_TrangThai_NH, sender, e);
663
664             
665
666             
//MessageBox.Show("Nhập hàng thành công");
667             
/*
668             
double dattoan = 0;
669             
double tongtt = 0;
670
671             dattoan = CauHinhHeThong.Format_SoDeTinhToan(txtTienDaThanhToan.Text,
true);
672             tongtt = CauHinhHeThong.Format_SoDeTinhToan(txtTongTienDonHang.Text,
true);
673
674             //xác định trạng thái còn nợ ncc hay k?
675             
if (dattoan >= tongtt)
676             {
677                 //hàm xử lý nút thanh toán
678                 
this.UpdateNhapHang("DaThanhToan", sender, e);
679             }
680             
else
681             {
682                 //hàm xử lý nút thanh toán
683                 
this.UpdateNhapHang("DonHangNoNCC", sender, e);
684             }
685            
686             */

687         }
688
689         
private void UpdateNhapHang(string trangThai_NhapHang, object sender, EventArgs e)
690         {
691             
//khoi tao don hang
692             
this.DonHangDangNhap_La();
693
694             
//Số điện thoại không được để trống
695             
if (string.IsNullOrEmpty(txtSoDienThoaiNCC.Text.Trim()))
696             {
697                 MessageBox.Show(
"Số điện thoại nhà cung cấp không được để trống");
698                 txtSoDienThoaiNCC.Focus();
699                 
return;
700             }
701             
else
702             {
703                 
//_IdNhaCungCap = 0 thi them moi
704                 
//Kiểm tra nhà cung cấp có trong hệ thống rồi hay chưa
705                 
this.NhaCungCap_KiemTraTonTai();
706             }
707
708             
//Trường thanh toán không được để trống
709             
if (string.IsNullOrEmpty(txtThanhToan.Text))
710             {
711                 MessageBox.Show(
"Tiền thanh toán không được để trống");
712                 txtThanhToan.Focus();
713
714                 btnThanhToan.Enabled =
true;
715                 loadlandau =
false;
716
717                 
return;
718             }
719
720             i =
0;
721
722             
//_IdNhapHang,
723             
//_NgayTao,
724             
//_TrangThai_NH = trangThai_NhapHang;// "DaThanhToan";
725             
//_GiamGiaDonHang,
726             
//_GiamGiaTatCaCacMuc,
727
728             _tienThanhToan = CauHinhHeThong.Format_SoDeTinhToan(txtThanhToan.Text.Trim(),
true);
729
730             _noNhaCc = _tongDonHangAll - _tienThanhToan;
731             
//_NCC_NoChuCuaHang,
732
733             
try
734             {
735                 _GhiChu = txtGhiChu.Text.Trim();
736             }
737             
catch { }
738
739             
/*
740             
if (!string.IsNullOrEmpty(txtChiPhiPhatSinh_TienMat.Text.Trim()))
741             {
742                 _ChiPhiThem = CauHinhHeThong.Format_SoDeTinhToan(txtChiPhiPhatSinh_TienMat.Text.Trim(),
true);// double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(txtThanhToan.Text.Trim()));
743             }
744
745             
try
746             {
747                 _MoTaChiPhiThem = txtMoTaChiPhiPhatSinh.Text.Trim();
748             }
749             
catch { }
750             */

751
752             
try
753             {
754                 _TenDonHang = txtTenDonHang.Text.Trim();
755             }
756             
catch { }
757
758             
//try
759             
//{
760               
// _TieuDe = _TenDonHang;
761             
//}
762            
// catch { }
763
764             
//try
765             
//{
766               
// _SoTien = _ChiPhiThem;
767             
//}
768            
// catch { }
769
770             
//try
771             
//{
772            
// _DienGiai = _MoTaChiPhiThem;
773            
// }
774           
// catch { }
775             
//update chi phi them
776             
//Controllers.CongNoCtrl.UpdateCongNo_ByNhapHangId(_IdCongNo, _TieuDe, _LoaiThuChi, _NgayTao, "SuDung", _SoTien, thueThuChi, _DienGiai, "", "0", "0", _GhiChu, _HinhThuc, _getNhapHangId);
777
778
779             
//thêm mới sản phẩm trong đơn hàng
780             
if (!string.IsNullOrEmpty(txtMaSanPham.Text) && !string.IsNullOrEmpty(txtTenSanPham.Text))
781             {
782                 
this.btnLuuVaTiepTuc_Click(sender, e);
783             }
784
785             
//update vào bảng nhập hàng
786             
//i = Controllers.NhapHangCtrl.UpdateNhapHang(_IdNhapHang, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _tongDonHangAll, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _NhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
787             
//i =
788             Controllers.NhapHangCtrl.UpdateNhapHang(_getNhapHangId, _NgayTao, trangThai_NhapHang, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _tongDonHangAll, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _getNhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
789
790             
//update nhà cung cấp của sản phẩm
791             
//Controllers.KhoCtrl.UpdateKho_NhaCungCapId(0, _NhaCungCapId, _getNhapHangId);
792             
//update cac sản phẩm trong kho trangthai = _TrangThai_NH
793             
//Controllers.KhoCtrl.UpdateKho_TrangThai_ByNhapHang(0, _getNhapHangId, _TrangThai_NH);
794             Controllers.KhoCtrl.UpdateKho_NhaCungCapId_TrangThai_ByNhapHangId(
0, _getNhaCungCapId, _TrangThai_NH, _getNhapHangId);
795
796             
int _IdThanhToan = 0;
797             
int _Tbl_TenBangId = 0;
798             
//double _SoTienThanhToan = 0;
799             
string _MoTaThanhToan = string.Empty;
800             
string _TrangThai = "ThanhToan";
801             
//DateTime _NgayTao ,
802             
string _Tbl_TenBang = "tbl_NhapHang";
803
804             
//_Tbl_TenBangId = _IdNhapHang;
805             _Tbl_TenBangId = _getNhapHangId;
806
807             
//_SoTienThanhToan = CauHinhHeThong.Format_SoDeTinhToan(txtThanhToan.Text.Trim());
808
809             
//thêm số tiền thanh toán vào bảng thanh toán
810             
//Controllers.ThanhToanCtrl.InsertThanhToan(_IdThanhToan, _Tbl_TenBangId, _SoTienThanhToan, _MoTaThanhToan, _TrangThai, _NgayTao, _Tbl_TenBang);
811             
if (_tienThanhToan != 0)
812             {
813                 Controllers.ThanhToanCtrl.InsertThanhToan(_IdThanhToan, _Tbl_TenBangId, _tienThanhToan, _MoTaThanhToan, _TrangThai, _NgayTao, _Tbl_TenBang);
814             }
815
816             
//Truyền dữ liệu sang uct NhapHang
817             
if (this.btnClickSendLink_NhapHang_ChiTiet != null)
818             {
819                 
//ẩn nút thanh toán khi click vào thanh toán
820                 btnThanhToan.Enabled =
false;
821                 
//khong cho load textchange
822                 loadlandau =
true;
823                 
//hiển thị thông báo trạng thái đơn hàng
824
825                 
//this.btnClickSendLink_NhapHang_ChiTiet(sender, e, _IdNhapHang, _NhaCungCapId, "ThanhToan");
826                 
this.btnClickSendLink_NhapHang_ChiTiet(sender, e, _getNhapHangId, _getNhaCungCapId, "ThanhToan");
827
828                 
//Them moi don hang
829                 
this.btnNhapMoi_Click(sender, e);
830             }
831
832             
//if (i > 0)
833             
//{
834                 
835
836             
//}
837         }
838
839         
//bnt tìm kiếm nhà cung cấp
840         
private void btnTimKiem_Click(object sender, EventArgs e)
841         {
842             
//kiểm tra sdt không dc để trống
843             
if (string.IsNullOrEmpty(txtSoDienThoaiNCC.Text.Trim()))
844             {
845                 MessageBox.Show(
"Nhập số điện thoại để tìm kiếm");
846                 
return;
847             }
848             
else
849             {
850                 DataTable dtNcc =
new DataTable();
851
852                 dtNcc = Controllers.NhaCungCapCtrl.FillDataSet_Get_NhaCungCap_BySoDienThoai(
0, txtSoDienThoaiNCC.Text.Trim(), _pageSize, _pageIndex).Tables[0];
853
854                 
if (dtNcc.Rows.Count > 0)
855                 {
856                     
//hiển thị thông tin ncc
857                     txtHoVaTenNCC.Text = dtNcc.Rows[
0]["HoVaTen"].ToString();
858
859                     
if (string.IsNullOrEmpty(txtHoVaTenNCC.Text.Trim()))
860                     {
861                         txtHoVaTenNCC.Focus();
862                     }
863
864                     _getNhaCungCapId = Int32.Parse(dtNcc.Rows[
0]["IdNhaCungCap"].ToString());
865
866                     
if (!string.IsNullOrEmpty(dtNcc.Rows[0]["DiaChi"].ToString()))
867                     {
868                         
//lblDiaChiNcc.Visible = true;
869                         txtDiaChiNcc.Text = dtNcc.Rows[
0]["DiaChi"].ToString();
870                     }
871                 }
872                 
else
873                 {
874                     _getNhaCungCapId =
0;
875                     
//lblDiaChiNcc.Visible = false;
876                     txtHoVaTenNCC.Text =
"";
877                     txtDiaChiNcc.Text =
"";
878
879                 }
880             }
881         }
882
883         
private void btnHuyDonHang_Click(object sender, EventArgs e)
884         {
885             _TrangThai_NH =
"HuyDonHang";
886
887             
this.UpdateNhapHang(_TrangThai_NH, sender, e);
888
889             
//Controllers.KhoCtrl.UpdateKho_TrangThai_ByNhapHang(-1, _getNhapHangId, _TrangThai_NH);
890
891             
//MessageBox.Show("Hủy đơn hàng thành công");
892         }
893
894         
private void btnTamDung_Click(object sender, EventArgs e)
895         {
896             _TrangThai_NH =
"TamDung";
897
898             
this.UpdateNhapHang(_TrangThai_NH, sender, e);
899
900             
//update cac sản phẩm trong kho trangthai = tamdung
901             
//Controllers.KhoCtrl.UpdateKho_TrangThai_ByNhapHang(-1, _getNhapHangId, _TrangThai_NH);
902
903             
//MessageBox.Show("Tạm dừng đơn hàng thành công");
904             
905         }
906
907         
private void btnNhapSoLuongLon_Click(object sender, EventArgs e)
908         {
909             
/*
910             //Kiểm tra khởi tạo bảng nhập hàng
911             
if (_IdNhapHang == 0)
912             {
913                 _IdNhapHang = Controllers.NhapHangCtrl.InsertNhapHang(_IdNhapHang, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _TongDonHang, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _NhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
914
915                 _thueMotMatHang =
0;
916
917                 cmbThue.SelectedValue =
"0";
918             }
919              */

920             
this.DonHangDangNhap_La();
921
922             
//frmNhapHang_NhapNhieu frmNH_NN = new frmNhapHang_NhapNhieu(_IdNhapHang);
923             frmNhapHang_NhapNhieu frmNH_NN =
new frmNhapHang_NhapNhieu(_getNhapHangId);
924
925             frmNH_NN.ShowDialog();
926
927             
//hien thi ds san pham nhap nhanh
928             
//this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang, 0, "NhapHang");
929             
this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, _getNhaCungCapId, "NhapHang");
930
931         }
932
933         
//Hiển thị toàn bộ thông tin sản phẩm trong kho liên quan tới IdNhapHang
934         
public void HienThiDanhSachSanPham_Kho_ByIdNhapHang(int IdNhapHang, int nhaCungCapId, string trangThaiNhapHang)
935         {
936             
//this._IdNhapHang = IdNhapHang;
937             
this._getNhapHangId = IdNhapHang;
938             
//this._getNhaCungCapId = nhaCungCapId;
939
940             _IdKho =
0;
941
942             dgvDanhSachNhapHang.Rows.Clear();
943             
//Ẩn cột đầu tiên
944             dgvDanhSachNhapHang.RowHeadersVisible =
false;
945             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
946             
this.dgvDanhSachNhapHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
947             
this.dgvDanhSachNhapHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
948             
//this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
949
950             
this.dgvDanhSachNhapHang.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
951             
this.dgvDanhSachNhapHang.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
952
953             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
954             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
955
956             
this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
957             
this.dgvDanhSachNhapHang.Columns["ChietKhauPhanTram"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
958
959             
this.dgvDanhSachNhapHang.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
960             
this.dgvDanhSachNhapHang.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
961
962
963             
this.dgvDanhSachNhapHang.Columns["TongTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
964             
this.dgvDanhSachNhapHang.Columns["TongTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
965
966             
//select từ bảng kho
967             
//dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-1, _IdNhapHang, 1000, _pageIndex).Tables[0];
968             dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-
1, _getNhapHangId, 1000, _pageIndex).Tables[0];
969             
if (dt.Rows.Count > 0)
970             {
971
972                 _stt =
0;
973
974                 _tongSoBanGhi = Int32.Parse(dt.Rows[
0]["TongSoBanGhi"].ToString());
975
976                 
double so_luong = 0;
977                 
double gia_nhap = 0;
978                 
double thue_ = 0;
979                 
string ckTheo = "PhanTram";
980                 
double ckPtram = 0;
981                 
double ckTien = 0;
982                 
double tongmotMh = 0;
983
984                 
foreach (DataRow item in dt.Rows)
985                 {
986                     _stt +=
1;
987                     n = dgvDanhSachNhapHang.Rows.Add();
988
989                     dgvDanhSachNhapHang.Rows[n].Cells[
"IdKho"].Value = item["IdKho"].ToString();
990                     dgvDanhSachNhapHang.Rows[n].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
991
992                     dgvDanhSachNhapHang.Rows[n].Cells[
"MaVietTat"].Value = item["MaVietTat"].ToString();
993
994                     dgvDanhSachNhapHang.Rows[n].Cells[
"DonViTinhId"].Value = item["DonViTinhId"].ToString();
995                     dgvDanhSachNhapHang.Rows[n].Cells[
"STT"].Value = _stt.ToString();
996                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenSanPham"].Value = item["TenSanPham"].ToString();
997                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
998
999                     ///
string sl = item["SoLuong"].ToString();
1000                     so_luong = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoLuong"].ToString(),false);
1001
1002                     gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(item[
"GiaNhap"].ToString(), false);
1003                     thue_ = CauHinhHeThong.Format_SoDeTinhToan(item[
"Thue"].ToString(), false);
1004                     ckTheo = item[
"ChietKhauTheo"].ToString();
1005                     ckPtram = CauHinhHeThong.Format_SoDeTinhToan(item[
"ChietKhauPhanTram"].ToString(), false);
1006                     ckTien = CauHinhHeThong.Format_SoDeTinhToan(item[
"TienChietKhau"].ToString(),false);
1007
1008                     dgvDanhSachNhapHang.Rows[n].Cells[
"SoLuong"].Value = CauHinhHeThong.Format_SoDeHienThi(so_luong, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
1009                     dgvDanhSachNhapHang.Rows[n].Cells[
"GiaNhap"].Value = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true); //CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["GiaNhap"].ToString(), true);
1010
1011                     
//hien thi chiet khau theo phan tram
1012                     dgvDanhSachNhapHang.Rows[n].Cells[
"ChietKhauTheo"].Value = ckTheo;// _ChietKhauTheo;
1013                     
1014                     dgvDanhSachNhapHang.Rows[n].Cells[
"ChietKhauPhanTram"].Value = CauHinhHeThong.Format_SoDeHienThi(ckPtram, false);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(_ChietKhau_PhanTram.ToString(), true);
1015                     dgvDanhSachNhapHang.Rows[n].Cells[
"TienChietKhau"].Value = CauHinhHeThong.Format_SoDeHienThi(ckTien, true);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["SoLuong"].ToString(), true); //item["SoLuong"].ToString();// DoFormat(_SoLuong);
1016                     dgvDanhSachNhapHang.Rows[n].Cells[
"Thue"].Value = CauHinhHeThong.Format_SoDeHienThi(thue_, false);// item["Thue"].ToString();// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(item["Thue"].ToString(), true); //item["ChietKhauPhanTram"].ToString();
1017
1018                     tongmotMh = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPtram, ckTien, ckTheo, thue_);
// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tt.ToString(), true);// this.TongTien_Mot_MatHang(item["GiaNhap"].ToString(), item["SoLuong"].ToString(), item["ChietKhauPhanTram"].ToString(), item["ChietKhauTheo"].ToString(), true);
1019                     dgvDanhSachNhapHang.Rows[n].Cells[
"TongTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tongmotMh, true);
1020                     dgvDanhSachNhapHang.Rows[n].Cells[
"Sua"].Value = "false";
1021                 }
1022
1023             }
1024             
else
1025             {
1026                 _tongSoBanGhi =
0;
1027             }
1028
1029             
//Hiển thị thông tin nhà cung cấp
1030             
if (nhaCungCapId != 0)
1031             {
1032                 DataTable dtNcc =
new DataTable();
1033
1034                 dtNcc = Controllers.NhaCungCapCtrl.FillDataSet_Get_NhaCungCap_ByIdNhaCungCap(nhaCungCapId).Tables[
0];
1035
1036                 
if (dtNcc.Rows.Count > 0)
1037                 {
1038                     txtSoDienThoaiNCC.Text = dtNcc.Rows[
0]["SoDienThoai"].ToString();
1039                     txtHoVaTenNCC.Text = dtNcc.Rows[
0]["HoVaTen"].ToString();
1040                     txtDiaChiNcc.Text = dtNcc.Rows[
0]["DiaChi"].ToString();
1041                 }
1042
1043                 
//hiển thị thông báo đơn hàng
1044                 lblTrangThaiDonHang.Text = trangThaiNhapHang;
1045             }
1046             
else
1047             {
1048                 txtSoDienThoaiNCC.Text =
"";
1049                 txtHoVaTenNCC.Text =
"";
1050                 txtDiaChiNcc.Text =
"";
1051             }
1052
1053             txtTongSoMatHang.Text = _tongSoBanGhi.ToString();
1054
1055             
//_tongDonHangAll = TongTienMotDonHang_All(_IdNhapHang);
1056             _tongDonHangAll = TongTienMotDonHang_All(_getNhapHangId);
1057
1058             txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll,
true);
1059
1060             
//so tien da thanh toan
1061             
//double _SoTienThanhToan = 0;
1062             
string _MoTaThanhToan = string.Empty;
1063
1064             
//DataTable dtTt = new DataTable();
1065
1066             
//dtTt = Controllers.ThanhToanCtrl.FillDataSet_getThanhToan_Search_ByIdTableName(0, _getNhapHangId, _SoTienThanhToan, _MoTaThanhToan, "", _NgayTao, "tbl_NhapHang", 1000, 1).Tables[0];
1067
1068             
//double _tongTien_DaThanhToan = 0;
1069             
/*
1070             
double _noNhaCungCap = 0;
1071
1072             
if (dtTt.Rows.Count > 0)
1073             {
1074                 
double sotientt = 0;
1075                 
foreach (DataRow item in dtTt.Rows)
1076                 {
1077                     sotientt = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoTienThanhToan"].ToString(),false);
1078                     _tongTien_DaThanhToan += sotientt;
1079
1080                 }
1081             }
1082             */

1083             
//no nha cung cap
1084             
//_noNhaCungCap = _tongDonHangAll - _tongTien_DaThanhToan;
1085
1086
1087             
//tien tt
1088             dttt = Controllers.ThanhToanCtrl.FillDataSet_GetThanhToan_GetTongTien(
0, _getNhapHangId, "tbl_NhapHang").Tables[0];
1089
1090             
if (dttt.Rows.Count > 0)
1091             {
1092
1093                 tienDtt = CauHinhHeThong.Format_SoDeTinhToan(dttt.Rows[
0]["TongSoTienThanhToan"].ToString(), false);
1094
1095                 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt,
true);
1096             }
1097             
else
1098             {
1099                 tienDtt =
0;
1100
1101                 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt,
true);
1102             }
1103
1104             
//txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(_tongTien_DaThanhToan, true);
1105
1106             
//txtnoNCC.Text = CauHinhHeThong.Format_SoDeHienThi(_noNhaCungCap, true);
1107
1108             
//Hiển thị thông tin từ bảng nhập hàng
1109             
this.HienThiThongTinDonHang_NhapHang(_getNhapHangId);
1110         }
1111
1112         
private void dgvDanhSachNhapHang_CellClick(object sender, DataGridViewCellEventArgs e)
1113         {
1114             _thueMotMatHang =
0;
1115             _tongDonHang =
0;
1116
1117             
//rowIndex = 0;
1118             
//-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
1119             
if (dgvDanhSachNhapHang.Columns[e.ColumnIndex].Name == "TenSanPham" && e.RowIndex != -1)
1120             {
1121                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
1122                 
if (dgvDanhSachNhapHang.CurrentCell != null && dgvDanhSachNhapHang.CurrentCell.Value != null)
1123                 {
1124                     
//Chuyển sang chỉnh sửa sản phẩm, điều kiện sản phẩm đã có trong csdl
1125                     spNhapHang_CoTrongCSDL =
1;
1126
1127                     
//rowIndex = e.RowIndex;
1128
1129
1130                     _IdKho = Int32.Parse(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"IdKho"].Value.ToString());
1131                     
double gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["GiaNhap"].Value.ToString(),true);
1132                     
double ckPt = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["ChietKhauPhanTram"].Value.ToString(), true);
1133                     
double ckTm = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["TienChietKhau"].Value.ToString(), true);
1134                     
this.ChietKhau_Theo = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["ChietKhauTheo"].Value.ToString();
1135                     
double so_luong = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells["SoLuong"].Value.ToString(), true);
1136
1137                     _thueMotMatHang = CauHinhHeThong.Format_SoDeTinhToan(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"Thue"].Value.ToString(), true);
1138
1139                     txtMaSanPham.Enabled =
false;
1140                     txtMaSanPham.Text = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"MaSanPham"].Value.ToString();
1141
1142                     txtMaVietTat.Text = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"MaVietTat"].Value.ToString();
1143
1144                     txtTenSanPham.Text = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"TenSanPham"].Value.ToString();
1145                     txtGiaNhap.Text = CauHinhHeThong.Format_SoDeHienThi(gia_nhap,
true);
1146                     txtSoLuong.Text = CauHinhHeThong.Format_SoDeHienThi(so_luong,
false);
1147                     cmbThue.SelectedValue = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"Thue"].Value.ToString();
1148
1149                     cmbDonViTinh.SelectedValue = dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"DonViTinhId"].Value.ToString();
1150
1151                     
//kiem tra chiet khau tinh theo cai gi
1152                     
if (ChietKhau_Theo == "PhanTram")
1153                     {
1154                         rdoBtnChietKhau_PhanTram.Checked =
true;
1155                     }
1156                     
else
1157                     {
1158                         rdoBtnChietKhau_TienMat.Checked =
true;
1159                     }
1160
1161                     txtChietKhau_PhanTram.Text = CauHinhHeThong.Format_SoDeHienThi(ckPt,
false);
1162                     txtChietKhau_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(ckTm,
true);
1163
1164                     
1165                     
//tong mot don hang tru mot mat hang
1166                     
//_tongDonHang = this.TongTienMotDonHang_TruMotMatHang(_IdNhapHang, _IdKho);
1167                     _tongDonHang =
this.TongTienMotDonHang_TruMotMatHang(_getNhapHangId, _IdKho);
1168
1169                     
//tong mot don hang
1170                     
double tong1math = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPt, ckTm, this.ChietKhau_Theo, _thueMotMatHang);
1171
1172                     lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1math,
true);
1173
1174                     _tongDonHangAll = tong1math + _tongDonHang;
1175
1176                     txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll,
true);
1177
1178                     
//khong cho load trong textchange
1179                     loadlandau =
true;
1180
1181                     
//Thêm màu nền sau khi click
1182                     
/*
1183                     
for (int j = 0; j < dgvDanhSachNhapHang.Rows.Count; j++)
1184                     {
1185                         
if (j == rowIndex)
1186                         {
1187                             
this.dgvDanhSachNhapHang.Rows[j].Cells["GiaNhap"].Style.BackColor = Color.Yellow;
1188                         }
1189                         
else
1190                         {
1191                             
this.dgvDanhSachNhapHang.Rows[j].Cells["GiaNhap"].Style.BackColor = Color.White;
1192                         }
1193                     }
1194                      */

1195                                         
1196                     
//Hiển thị sang tabPage thêm mới
1197                     tabControlNhapHang.SelectedTab = tabPageThemMoiSanPham;
1198
1199                     
//Hiển thị button xóa để có thể xóa sản phẩm
1200                     btnXoa.Enabled =
true;
1201                 }
1202             }
1203
1204         }
1205
1206         
//public void HienThiThongTinNhapHang_ByIdNhapHang() { }
1207
1208         
//click tab chọn hiển thị
1209         
private void tabControlNhapHang_Selected(object sender, TabControlEventArgs e)
1210         {
1211             
try
1212             {
1213                 
if (e.TabPage == tabPageThemMoiSanPham)
1214                 {
1215                     
//tabControlNhapHang.SelectedTab = tabPageThemMoiSanPham;
1216                 }
1217                 
else
1218                 {
1219                     
//tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
1220                     
//Hien thi danh sach san pham
1221                     
//this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang, 0, "NhapHang");
1222                     
this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, _getNhaCungCapId, "NhapHang");
1223
1224                 }
1225
1226                 
//uctNhapHang.uctNH.VerticalScroll.Value = 0;
1227             }
1228             
catch
1229             {
1230             }
1231
1232         }
1233
1234         
private void txtSoDienThoai_KeyDown(object sender, KeyEventArgs e)
1235         {
1236             
if (e.KeyCode == Keys.Enter)
1237             {
1238                 e.SuppressKeyPress =
true;
1239
1240                 
this.btnTimKiem_Click(sender, e);
1241             }
1242         }
1243
1244         
//Enter de tim san pham
1245         
private void EnterSanPham(bool maSanPhamEnter)
1246         {
1247             
try
1248             {
1249                 _IdKho =
0;
1250
1251                 _MaSanPham = txtMaSanPham.Text.Trim();
1252                 _MaVietTat = txtMaVietTat.Text.Trim();
1253
1254                 
if (string.IsNullOrEmpty(_MaVietTat))
1255                 {
1256                     _MaSanPham = txtMaSanPham.Text.Trim();
1257                 }
1258                 
else
1259                 {
1260                     _MaSanPham = _MaVietTat;
1261                 }
1262
1263                 
//khong kho load textchange
1264                 loadlandau =
true;
1265
1266                 
//Khởi tạo lại IdKho, _Thue
1267                 
if (string.IsNullOrEmpty(_MaSanPham) && string.IsNullOrEmpty(_MaVietTat))
1268                 {
1269                     MessageBox.Show(
"Bạn chưa nhập mã sản phẩm!");
1270                     
return;
1271                 }
1272
1273                 
//txtMaSanPham.Enabled = false;
1274                 
/*
1275                 //Kiểm tra khởi tạo bảng nhập hàng
1276                 
if (_IdNhapHang == 0)
1277                 {
1278                     _IdNhapHang = Controllers.NhapHangCtrl.InsertNhapHang(_IdNhapHang, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _TongDonHang, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _NhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
1279
1280                     _thueMotMatHang =
0;
1281
1282                     cmbThue.SelectedValue =
"0";
1283                 }
1284                 */

1285
1286                 
//don hang hien tai la
1287                 
this.DonHangDangNhap_La();
1288
1289                 
//tim kiem trong bang kho ma san pham + ma don hang
1290
1291                 
//Tìm sản phẩm trong bảng tbl_Kho
1292                 
//Nếu trong bảng kho không có tìm sản phẩm trong bảng tbl_ThongTinSanPham
1293                 
if (maSanPhamEnter == true)
1294                 {
1295                     
//dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId(_MaSanPham, _IdNhapHang).Tables[0];
1296                     dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId(_MaSanPham, _getNhapHangId).Tables[
0];
1297                 }
1298                 
else
1299                 {
1300                     
//dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId_MaVietTat(_MaSanPham, _IdNhapHang, _MaVietTat).Tables[0];
1301                     dt = Controllers.KhoCtrl.FillDataSet_getKho_ByMaSanPham_ByNhapHangId_MaVietTat(_MaSanPham, _getNhapHangId, _MaVietTat).Tables[
0];
1302                 }
1303                 
1304
1305                 
double gia_nhap = 0;
1306                 
double ckPt = 0;
1307                 
double ckTm = 0;
1308                 
double so_luong = 0;
1309                 
//_thueMotMatHang = 0;
1310
1311                 
if (dt.Rows.Count > 0)
1312                 {
1313                     
//Hiển thị ra form
1314                     txtTenSanPham.Text = dt.Rows[
0]["TenSanPham"].ToString();
1315
1316                     gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[
0]["GiaNhap"].ToString(),false);
1317                     txtGiaNhap.Text = CauHinhHeThong.Format_SoDeHienThi(gia_nhap,
true);// CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(, true);
1318
1319                     
//Hiển thị đơn vị tính
1320                     cmbDonViTinh.SelectedValue = dt.Rows[
0]["DonViTinhId"].ToString();
1321
1322                     
//binh on gia khi insert san pham luc nhap hang
1323                     
if (CauHinhHeThong.BINH_ON_GIA_BAN == "checked")
1324                     {
1325                         _GiaBanLe = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[
0]["GiaBanLe"].ToString(), false);
1326                         _GiaBanBuon = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[
0]["GiaBanBuon"].ToString(), false);
1327                         _GiaKhuyenMai = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[
0]["GiaKhuyenMai"].ToString(), false);
1328                         _ThueBanHang = (
float)CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["ThueBanHang"].ToString(), false);
1329                         _ChietKhauPTBanHang = (
float)CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[0]["ChietKhauPTBanHang"].ToString(), false);
1330                     }
1331
1332
1333                     spNhapHang_CoTrongCSDL = Int32.Parse(dt.Rows[
0]["SP_NhapHang_CoTrongCSDL"].ToString());
1334
1335                     
if (spNhapHang_CoTrongCSDL > 0)
1336                     {
1337                         
//Lấy _IdKho để update vào bảng kho
1338                         _IdKho = Int32.Parse(dt.Rows[
0]["IdKho"].ToString());
1339                         
//Số lượng được cộng thêm 1
1340                         txtSoLuong.Text = (
float.Parse(dt.Rows[0]["SoLuong"].ToString()) + 1).ToString();
1341
1342                         _thueMotMatHang =
double.Parse(dt.Rows[0]["Thue"].ToString());
1343                         
this.ChietKhau_Theo = dt.Rows[0]["ChietKhauTheo"].ToString();
1344
1345                         txtChietKhau_PhanTram.Text = dt.Rows[
0]["ChietKhauPhanTram"].ToString();
1346                         ckTm = CauHinhHeThong.Format_SoDeTinhToan(dt.Rows[
0]["TienChietKhau"].ToString(),false);
1347                         txtChietKhau_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(ckTm,
true);//
1348
1349
1350                         
if (this.ChietKhau_Theo == "PhanTram")
1351                         {
1352                             rdoBtnChietKhau_PhanTram.Checked =
true;
1353                         }
1354                         
else
1355                         {
1356                             rdoBtnChietKhau_TienMat.Checked =
true;
1357                         }
1358
1359                         
1360                         
1361
1362                     }
1363                     
else
1364                     {
1365                         
//Tổng số mặt hàng
1366                         _tongSoBanGhi = _tongSoBanGhi +
1;
1367
1368                         txtSoLuong.Text =
"1";
1369                         
//Thuế mặc định = 0;
1370                         _thueMotMatHang =
0;
1371                         cmbThue.SelectedValue =
"0";
1372
1373                         rdoBtnChietKhau_PhanTram.Checked =
true;
1374                         
this.ChietKhau_Theo = "PhanTram";
1375
1376                         txtChietKhau_PhanTram.Text =
"0";// dt.Rows[0]["ChietKhauPhanTram"].ToString();
1377                         txtChietKhau_TienMat.Text =
"0";
1378                     }
1379                 }
1380                 
else
1381                 {
1382                     dt = Controllers.ThongTinSanPhamCtrl.FillDataSet_ThongTinSanPhamByMaSanPham(_MaSanPham).Tables[
0];
1383
1384                     
if (dt.Rows.Count > 0)
1385                     {
1386                         
//Hiển thị ra form
1387                         txtTenSanPham.Text = dt.Rows[
0]["TenSanPham"].ToString();
1388                         
//Hiển thị đơn vị tính
1389                         cmbDonViTinh.SelectedValue = dt.Rows[
0]["DonViTinhId"].ToString();
1390
1391                         
string strGiaNhap = dt.Rows[0]["TenNhaCungCap"].ToString();
1392
1393                         
ulong ulgn = 0;
1394
1395                         
if (ulong.TryParse(strGiaNhap, out ulgn))
1396                         {
1397                             
float gianhapBangTru10ptGiaBan = 0;
1398                             
double gnNcc = CauHinhHeThong.Format_SoDeTinhToan(ulgn.ToString(), false);
1399
1400                             gianhapBangTru10ptGiaBan = (
float) (gnNcc - (gnNcc * 10) / 100);
1401
1402                             txtGiaNhap.Text = CauHinhHeThong.Format_SoDeHienThi(gianhapBangTru10ptGiaBan,
true);
1403
1404                         }
1405                         
else
1406                         {
1407                             txtGiaNhap.Text = strGiaNhap;
1408                         }
1409
1410                         
1411                     }
1412
1413                     
//Tổng số mặt hàng
1414                     _tongSoBanGhi = _tongSoBanGhi +
1;
1415
1416                     txtSoLuong.Text =
"1";
1417                     txtChietKhau_PhanTram.Text =
"";
1418                     txtChietKhau_TienMat.Text =
"";
1419                     
//Thuế mặc định = 0;
1420                     _thueMotMatHang =
0;
1421                     cmbThue.SelectedValue =
"0";
1422
1423                     rdoBtnChietKhau_PhanTram.Checked =
true;
1424                     
this.ChietKhau_Theo = "PhanTram";
1425                 }
1426
1427                 gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text.Trim(),
true);
1428                 ckPt = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(),
true);
1429                 ckTm = CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(),
true);
1430                 so_luong = CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(),
true);
1431                 
//_thueMotMatHang = 0;
1432
1433                 
//Hiển thị tổng số mặt hàng
1434                 txtTongSoMatHang.Text = _tongSoBanGhi.ToString();
1435
1436                 
//tong mot don hang tru mot mat hang
1437                 
//_tongDonHang = this.TongTienMotDonHang_TruMotMatHang(_IdNhapHang, _IdKho);
1438                 _tongDonHang =
this.TongTienMotDonHang_TruMotMatHang(_getNhapHangId, _IdKho);
1439
1440                 
//tong mot don hang
1441                 
double tong1math = CauHinhHeThong.TinhTongMot_MatHang(gia_nhap, so_luong, ckPt, ckTm, this.ChietKhau_Theo, _thueMotMatHang);
1442
1443                 lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1math,
true);
1444
1445                 _tongDonHangAll = tong1math + _tongDonHang;
1446
1447                 txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll,
true);
1448
1449                 
//Hiển thị sang tabPage thêm mới
1450                 tabControlNhapHang.SelectedTab = tabPageThemMoiSanPham;
1451
1452                 txtMaSanPham.Visible =
true;
1453                 
//dua panel len top
1454                 
//uctNhapHang.uctNH.VerticalScroll.Value = 0;
1455                 
//panel1.VerticalScroll.Value = 0;
1456             }
1457             
catch { }
1458         }
1459
1460         
private void txtMaSanPham_KeyDown(object sender, KeyEventArgs e)
1461         {
1462
1463             
if (e.KeyCode == Keys.Enter)
1464             {
1465                 e.SuppressKeyPress =
true;
1466
1467                 txtMaVietTat.Text =
string.Empty;
1468
1469                 
//kiem tra la ma barcode khong?
1470                 
this.EnterSanPham(true);
1471                 
1472             }
1473         }
1474
1475         
private void txtGiaNhap_TextChanged(object sender, EventArgs e)
1476         {
1477             
if (loadlandau == true) { return; }
1478
1479             
if (ChietKhau_Theo == null)
1480             {
1481                 
return;
1482             }
1483
1484             
try
1485             {
1486                 
value = txtGiaNhap.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1487                 ul =
0;
1488
1489                 
if (ulong.TryParse(value, out ul))
1490                 {
1491                     txtGiaNhap.TextChanged -= txtGiaNhap_TextChanged;
1492
1493                     
if (txtGiaNhap.Text.StartsWith("0"))
1494                     {
1495                         txtGiaNhap.Text = ul.ToString();
1496                     }
1497                     
else
1498                     {
1499                         txtGiaNhap.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
1500                     }
1501
1502                     txtGiaNhap.SelectionStart = txtGiaNhap.Text.Length;
1503                     txtGiaNhap.TextChanged += txtGiaNhap_TextChanged;
1504                 }
1505                 
else
1506                 {
1507                     
if (txtGiaNhap.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1508                     {
1509                         txtGiaNhap.TextChanged -= txtGiaNhap_TextChanged;
1510                         txtGiaNhap.Text =
"0" + txtGiaNhap.Text;
1511                         txtGiaNhap.SelectionStart = txtGiaNhap.Text.Length;
1512                         txtGiaNhap.TextChanged += txtGiaNhap_TextChanged;
1513                     }
1514                 }
1515
1516                 
//hien thi tong 1 mat hang va tong mot don hang
1517                 
this.HienThiDonHangTextChanged();
1518             }
1519             
catch
1520             {
1521             }
1522         }
1523
1524         
private void txtSoLuong_TextChanged(object sender, EventArgs e)
1525         {
1526             
if (loadlandau == true) { return; }
1527
1528             
if (ChietKhau_Theo == null)
1529             {
1530                 
return;
1531             }
1532
1533             
try
1534             {
1535                 
value = txtSoLuong.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1536                 ul =
0;
1537
1538                 
if (ulong.TryParse(value, out ul))
1539                 {
1540                     txtSoLuong.TextChanged -= txtSoLuong_TextChanged;
1541
1542                     
if (txtSoLuong.Text.StartsWith("0"))
1543                     {
1544                         txtSoLuong.Text = ul.ToString();
1545                     }
1546                     
else
1547                     {
1548                         txtSoLuong.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
1549                     }
1550
1551
1552                     txtSoLuong.SelectionStart = txtSoLuong.Text.Length;
1553                     txtSoLuong.TextChanged += txtSoLuong_TextChanged;
1554                 }
1555                 
else
1556                 {
1557                     
if (txtSoLuong.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1558                     {
1559                         txtSoLuong.TextChanged -= txtSoLuong_TextChanged;
1560                         txtSoLuong.Text =
"0" + txtSoLuong.Text;
1561                         txtSoLuong.SelectionStart = txtSoLuong.Text.Length;
1562                         txtSoLuong.TextChanged += txtSoLuong_TextChanged;
1563                     }
1564                 }
1565
1566                 
//hien thi tong 1 mat hang va tong mot don hang
1567                 
this.HienThiDonHangTextChanged();
1568             }
1569             
catch
1570             {
1571             }
1572         }
1573
1574         
private void txtChietKhau_TienMat_TextChanged(object sender, EventArgs e)
1575         {
1576             
if (loadlandau == true) { return; }
1577
1578             
if (ChietKhau_Theo == null)
1579             {
1580                 
return;
1581             }
1582
1583             
if (rdoBtnChietKhau_TienMat.Checked == true)
1584             {
1585                 
try
1586                 {
1587                     
value = txtChietKhau_TienMat.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1588                     ul =
0;
1589
1590                     
if (ulong.TryParse(value, out ul))
1591                     {
1592                         txtChietKhau_TienMat.TextChanged -= txtChietKhau_TienMat_TextChanged;
1593
1594                         
if (txtChietKhau_TienMat.Text.StartsWith("0"))
1595                         {
1596                             txtChietKhau_TienMat.Text = ul.ToString();
1597                         }
1598                         
else
1599                         {
1600                             txtChietKhau_TienMat.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
1601                         }
1602
1603                         txtChietKhau_TienMat.SelectionStart = txtChietKhau_TienMat.Text.Length;
1604                         txtChietKhau_TienMat.TextChanged += txtChietKhau_TienMat_TextChanged;
1605                     }
1606                     
else
1607                     {
1608                         
if (txtChietKhau_TienMat.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1609                         {
1610                             txtChietKhau_TienMat.TextChanged -= txtChietKhau_TienMat_TextChanged;
1611                             txtChietKhau_TienMat.Text =
"0" + txtChietKhau_TienMat.Text;
1612                             txtChietKhau_TienMat.SelectionStart = txtChietKhau_TienMat.Text.Length;
1613                             txtChietKhau_TienMat.TextChanged += txtChietKhau_TienMat_TextChanged;
1614                         }
1615                     }
1616
1617                     
this.ChietKhau_Theo = "TienChietKhau";
1618                     txtChietKhau_PhanTram.Text = CauHinhHeThong.Format_SoDeHienThi(
this.ChietKhau_GetForm(), false);
1619
1620                     
//hien thi tong 1 mat hang va tong mot don hang
1621                     
this.HienThiDonHangTextChanged();
1622
1623                 }
1624                 
catch
1625                 {
1626                 }
1627             }
1628
1629         }
1630
1631         
/*
1632         
private void txtChiPhiPhatSinh_TienMat_TextChanged(object sender, EventArgs e)
1633         {
1634
1635             
try
1636             {
1637                 
value = txtChiPhiPhatSinh_TienMat.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1638                 ul =
0;
1639
1640                 
if (ulong.TryParse(value, out ul))
1641                 {
1642                     txtChiPhiPhatSinh_TienMat.TextChanged -= txtChiPhiPhatSinh_TienMat_TextChanged;
1643
1644                     
if (txtChiPhiPhatSinh_TienMat.Text.StartsWith("0"))
1645                     {
1646                         txtChiPhiPhatSinh_TienMat.Text = ul.ToString();
1647                     }
1648                     
else
1649                     {
1650                         txtChiPhiPhatSinh_TienMat.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
1651                     }
1652
1653                     txtChiPhiPhatSinh_TienMat.SelectionStart = txtChiPhiPhatSinh_TienMat.Text.Length;
1654                     txtChiPhiPhatSinh_TienMat.TextChanged += txtChiPhiPhatSinh_TienMat_TextChanged;
1655                 }
1656                 
else
1657                 {
1658                     
if (txtChiPhiPhatSinh_TienMat.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1659                     {
1660                         txtChiPhiPhatSinh_TienMat.TextChanged -= txtChiPhiPhatSinh_TienMat_TextChanged;
1661                         txtChiPhiPhatSinh_TienMat.Text =
"0" + txtChiPhiPhatSinh_TienMat.Text;
1662                         txtChiPhiPhatSinh_TienMat.SelectionStart = txtChiPhiPhatSinh_TienMat.Text.Length;
1663                         txtChiPhiPhatSinh_TienMat.TextChanged += txtChiPhiPhatSinh_TienMat_TextChanged;
1664                     }
1665                 }
1666             }
1667             
catch
1668             {
1669             }
1670         }
1671
1672          */

1673
1674         
private void txtChietKhau_PhanTram_TextChanged(object sender, EventArgs e)
1675         {
1676             
if (loadlandau == true) { return; }
1677
1678             
if (ChietKhau_Theo == null)
1679             {
1680                 
return;
1681             }
1682
1683             
if (rdoBtnChietKhau_PhanTram.Checked == true)
1684             {
1685                 
//chiet khau phan tram
1686                 
try
1687                 {
1688                     
value = txtChietKhau_PhanTram.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1689                     ul =
0;
1690
1691                     
if (ulong.TryParse(value, out ul))
1692                     {
1693                         txtChietKhau_PhanTram.TextChanged -= txtChietKhau_PhanTram_TextChanged;
1694
1695                         
if (txtChietKhau_PhanTram.Text.StartsWith("0"))
1696                         {
1697                             txtChietKhau_PhanTram.Text = ul.ToString();
1698                         }
1699                         
else
1700                         {
1701                             txtChietKhau_PhanTram.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
1702                         }
1703
1704                         txtChietKhau_PhanTram.SelectionStart = txtChietKhau_PhanTram.Text.Length;
1705                         txtChietKhau_PhanTram.TextChanged += txtChietKhau_PhanTram_TextChanged;
1706                     }
1707                     
else
1708                     {
1709                         
if (txtChietKhau_PhanTram.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1710                         {
1711                             txtChietKhau_PhanTram.TextChanged -= txtChietKhau_PhanTram_TextChanged;
1712                             txtChietKhau_PhanTram.Text =
"0" + txtChietKhau_PhanTram.Text;
1713                             txtChietKhau_PhanTram.SelectionStart = txtChietKhau_PhanTram.Text.Length;
1714                             txtChietKhau_PhanTram.TextChanged += txtChietKhau_PhanTram_TextChanged;
1715                         }
1716                     }
1717
1718                     
this.ChietKhau_Theo = "PhanTram";
1719                     txtChietKhau_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(
this.ChietKhau_GetForm(), true);
1720
1721                     
//hien thi tong 1 mat hang va tong mot don hang
1722                     
this.HienThiDonHangTextChanged();
1723                 }
1724                 
catch
1725                 {
1726                 }
1727             }
1728
1729         }
1730
1731         
private void txtThanhToan_TextChanged(object sender, EventArgs e)
1732         {
1733             
if (loadlandau == true) { return; }
1734
1735             
try
1736             {
1737                 
value = txtThanhToan.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
1738                 ul =
0;
1739
1740                 
if (ulong.TryParse(value, out ul))
1741                 {
1742                     txtThanhToan.TextChanged -= txtThanhToan_TextChanged;
1743
1744                     
if (txtThanhToan.Text.StartsWith("0"))
1745                     {
1746                         txtThanhToan.Text = ul.ToString();
1747                     }
1748                     
else
1749                     {
1750                         txtThanhToan.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(
value);
1751                     }
1752
1753
1754                     txtThanhToan.SelectionStart = txtThanhToan.Text.Length;
1755                     txtThanhToan.TextChanged += txtThanhToan_TextChanged;
1756                 }
1757                 
else
1758                 {
1759                     
if (txtThanhToan.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
1760                     {
1761                         txtThanhToan.TextChanged -= txtThanhToan_TextChanged;
1762                         txtThanhToan.Text =
"0" + txtThanhToan.Text;
1763                         txtThanhToan.SelectionStart = txtThanhToan.Text.Length;
1764                         txtThanhToan.TextChanged += txtThanhToan_TextChanged;
1765                     }
1766                 }
1767
1768                 
//txtTienDaThanhToan.Text = txtThanhToan.Text.Trim();
1769
1770                 _tienThanhToan = CauHinhHeThong.Format_SoDeTinhToan(txtThanhToan.Text.Trim(),
true);
1771
1772                 _noNhaCc = _tongDonHangAll - _tienThanhToan;
1773
1774                 txtnoNCC.Text = CauHinhHeThong.Format_SoDeHienThi(_noNhaCc,
true);
1775
1776                 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt + _tienThanhToan,
true);
1777
1778             }
1779             
catch
1780             {
1781             }
1782
1783         }
1784
1785         
private void txtThanhToan_KeyPress(object sender, KeyPressEventArgs e)
1786         {
1787             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1788         }
1789
1790         
private void txtChietKhau_KeyPress(object sender, KeyPressEventArgs e)
1791         {
1792             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1793         }
1794
1795         
private void txtSoLuong_KeyPress(object sender, KeyPressEventArgs e)
1796         {
1797             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1798         }
1799
1800         
private void txtGiaNhap_KeyPress(object sender, KeyPressEventArgs e)
1801         {
1802             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1803         }
1804
1805         
private void txtChiPhiPhatSinh_TienMat_KeyPress(object sender, KeyPressEventArgs e)
1806         {
1807             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1808         }
1809
1810         
private void txtChiPhiPhatSinh_PhanTram_KeyPress(object sender, KeyPressEventArgs e)
1811         {
1812             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1813         }
1814
1815         
private void txtChietKhau_TienMat_KeyPress(object sender, KeyPressEventArgs e)
1816         {
1817             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
1818         }
1819
1820         
/*
1821         
private double TongTien_Mot_MatHang(string giaNhap, string soLuong, string chietKhau, string chietKhauTheo, bool chuoi_TheoChuan_CSDL)
1822         {
1823             
double tong = 0;
1824             
double gNhap = 0;
1825             
double sLuong = 0;
1826             
double cKhau = 0;
1827             //
string txt = "";
1828
1829             
if (chuoi_TheoChuan_CSDL == true)
1830             {
1831                 gNhap =
double.Parse(giaNhap);
1832                 sLuong =
double.Parse(soLuong);
1833                 cKhau =
double.Parse(chietKhau);
1834             }
1835             
else
1836             {
1837
1838                 
if (string.IsNullOrEmpty(giaNhap))
1839                 {
1840                     gNhap =
0;
1841                 }
1842                 
else
1843                 {
1844                     gNhap =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(giaNhap));
1845                 }
1846
1847                 
if (string.IsNullOrEmpty(soLuong))
1848                 {
1849                     sLuong =
0;
1850                 }
1851                 
else
1852                 {
1853                     sLuong =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(soLuong));
1854                 }
1855
1856                 
if (string.IsNullOrEmpty(chietKhau))
1857                 {
1858                     cKhau =
0;
1859                 }
1860                 
else
1861                 {
1862                     cKhau =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(chietKhau));
1863                 }
1864             }
1865
1866             
if (chietKhauTheo == "PhanTram")
1867             {
1868                 tong = (gNhap * sLuong) - (gNhap * sLuong * cKhau /
100);
1869             }
1870             
else
1871             {
1872                 //Tien chiet khau
1873                 tong = (gNhap * sLuong) - cKhau;
1874             }
1875
1876
1877             //txt = CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tong.ToString(),
false);
1878
1879             
return tong;
1880         }
1881
1882          */

1883
1884         
/*
1885         //xoa
1886         
private string ChietKhau_PhanTram_Hoac_TienMat(string giaNhap, string soLuong, string chietKhau_PhanTram, string chietKhau_TienMat, bool chuoi_TheoChuan_CSDL)
1887         {
1888             
double ketQua = 0;
1889
1890             
double gNhap = 0;
1891             
double sLuong = 0;
1892             
double cKhau_pt = 0;
1893             
double cKhau_tm = 0;
1894
1895             //
1896             
if (chuoi_TheoChuan_CSDL == true)
1897             {
1898                 gNhap =
double.Parse(giaNhap);
1899                 sLuong =
double.Parse(soLuong);
1900                 cKhau_pt =
double.Parse(chietKhau_PhanTram);
1901                 cKhau_tm =
double.Parse(chietKhau_TienMat);
1902             }
1903             
else
1904             {
1905
1906                 
if (string.IsNullOrEmpty(giaNhap))
1907                 {
1908                     gNhap =
0;
1909                 }
1910                 
else
1911                 {
1912                     gNhap =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(giaNhap));
1913                 }
1914
1915                 
if (string.IsNullOrEmpty(soLuong))
1916                 {
1917                     sLuong =
0;
1918                 }
1919                 
else
1920                 {
1921                     sLuong =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(soLuong));
1922                 }
1923
1924                 
if (string.IsNullOrEmpty(chietKhau_PhanTram))
1925                 {
1926                     cKhau_pt =
0;
1927                 }
1928                 
else
1929                 {
1930                     cKhau_pt =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(chietKhau_PhanTram));
1931                 }
1932
1933                 
if (string.IsNullOrEmpty(chietKhau_TienMat))
1934                 {
1935                     cKhau_tm =
0;
1936                 }
1937                 
else
1938                 {
1939                     cKhau_tm =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(chietKhau_TienMat));
1940                 }
1941             }
1942
1943             
if (rdoBtnChietKhau_PhanTram.Checked == true)
1944             {
1945                 //phan tram
1946                 //-> txt = tien mat
1947                 ketQua = gNhap * sLuong * cKhau_pt /
100;
1948                 //txtChietKhau_TienMat.Text = CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(tienMat.ToString(),
false);
1949             }
1950             
else
1951             {
1952                 //tien mat
1953                 //=> txt = %
1954                 ketQua = (cKhau_tm *
100) / (gNhap * sLuong);
1955
1956                 //txtChietKhau_PhanTram.Text = Math.Round(phanTram,
5).ToString(); //CauHinhHeThong.Format_HienThiKieuTien(phanTram.ToString(), false);
1957             }
1958             //tong = (gNhap * sLuong) - (gNhap * sLuong * cKhau /
100);
1959
1960             //txt = CauHinhHeThong.Format_HienThiKieuTien(tong.ToString(),
false);
1961             
return CauHinhHeThong.Format_HienThiKieuTien_CoDauPhanCachHangNghin(ketQua.ToString(), false);
1962
1963             //
return txt;
1964         }
1965
1966
1967         */

1968
1969         
private void btnXoa_Click(object sender, EventArgs e)
1970         {
1971
1972             
if (_IdKho > 0)
1973             {
1974                 DialogResult dr = MessageBox.Show(
"Bạn có chắc chắn xóa?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
1975                 
if (dr == DialogResult.Yes)
1976                 {
1977                     
//Xóa sản phẩm khỏi đơn hàng
1978                     Controllers.KhoCtrl.DeleteKho(_IdKho);
1979
1980                     
//ẩn nút xóa
1981                     btnXoa.Enabled =
false;
1982
1983                     
this.btnClear_Click(sender, e);
1984                     
//this.HienThiDanhSachNhapHang();
1985
1986                     tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
1987                     
//this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang);
1988                     _IdKho =
0;
1989
1990                     txtMaSanPham.Focus();
1991
1992                 }
1993                 
else
1994                 {
1995                     txtMaSanPham.Focus();
1996                     
return;
1997                 }
1998
1999             }
2000
2001         }
2002
2003         
private void button1_Click(object sender, EventArgs e)
2004         {
2005
2006         }
2007
2008         
private void linkLabel_ThemMoiNCC_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
2009         {
2010             frmNhaCungCap frmNCC =
new frmNhaCungCap();
2011
2012             
//Hiển thị thông tin nhà cung cấp sau khi chọn trong dgv danh sách ncc
2013             frmNCC.ChonNhaCungCap =
new frmNhaCungCap.GetThongTinNCC(GetValue_ThongTinNCC);
2014
2015             frmNCC.ShowDialog();
2016         }
2017
2018         
//0k
2019         
private void dgvThue_CellClick(object sender, DataGridViewCellEventArgs e)
2020         {
2021             
/*
2022             // CAN XEM LAI
2023             //Kiem tra dung click vao cell moi show dropdow
2024             
if (dgvThue.Columns[e.ColumnIndex].Index == 3 && e.RowIndex != -1)
2025             {
2026                 //-https://stackoverflow.com/questions/
12762036/datagridview-cell-click-event
2027                 
if (dgvThue.CurrentCell != null && dgvThue.CurrentCell.Value != null)
2028                 {
2029                     dgvThue.BeginEdit(
true);
2030                     ComboBox cmb = (ComboBox)dgvThue.EditingControl;
2031                     cmb.DroppedDown =
true;
2032
2033                     
2034                 }
2035
2036             }
2037              */

2038             
2039         }
2040
2041         
private void btnLuuThayDoi_Click(object sender, EventArgs e)
2042         {
2043             
//txtThongBaoThanhCong.Text = "";
2044             
//_Thue = 0;
2045             
//_IdKho = 0;
2046             
//int idkho = 0;
2047             
//double thuenhaphang = 0;
2048
2049
2050             
2051             
/*
2052             
foreach (DataGridViewRow dataRow in dgvThue.Rows)
2053             {
2054
2055                 
string col1 = dataRow.Cells[3].Value.ToString();
2056
2057                 
if (dataRow.Cells[0].Value != null)
2058                 {
2059                    // idkho = Int32.Parse(dataRow.Cells[
0].Value.ToString());
2060
2061                     //lay gia tri trong cmb
2062                     //thuenhaphang =
double.Parse(dataRow.Cells[3].Value.ToString());
2063
2064                    //
string SelectedText = Convert.ToString((dataRow.Cells[3] as DataGridViewComboBoxCell).FormattedValue.ToString());
2065                     //
int SelectedVal = Convert.ToInt32(dataRow.Cells["cmbThue"].Value);
2066
2067                    // Controllers.KhoCtrl.UpdateKho_Thue(idkho, SelectedVal);
2068
2069                     
2070
2071                  
2072                 }
2073             }//end
foreach
2074           */

2075
2076             
//this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_IdNhapHang, _NhaCungCapId, "NhapHang");
2077             
this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, _getNhaCungCapId, "NhapHang");
2078
2079             
//txtThongBaoThanhCong.Text = "Lưu thành công";
2080
2081             tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
2082
2083         }
2084
2085         
private void rdoBtnChietKhau_PhanTram_CheckedChanged(object sender, EventArgs e)
2086         {
2087             txtChietKhau_PhanTram.Focus();
2088         }
2089
2090         
private void rdoBtnChietKhau_TienMat_CheckedChanged(object sender, EventArgs e)
2091         {
2092             txtChietKhau_TienMat.Focus();
2093         }
2094
2095         
private void txtChietKhau_PhanTram_Click(object sender, EventArgs e)
2096         {
2097             rdoBtnChietKhau_PhanTram.Checked =
true;
2098         }
2099
2100         
private void txtChietKhau_TienMat_Click(object sender, EventArgs e)
2101         {
2102             rdoBtnChietKhau_TienMat.Checked =
true;
2103         }
2104
2105         
private void txtChiPhiPhatSinh_PhanTram_Click(object sender, EventArgs e)
2106         {
2107
2108             
//rdoBtnChiPhiPhatSinh_PhanTram.Checked = true;
2109         }
2110
2111         
private void txtChiPhiPhatSinh_TienMat_Click(object sender, EventArgs e)
2112         {
2113             
//rdoBtnChiPhiPhatSinh_TienMat.Checked = true;
2114             
2115         }
2116
2117         
private void rdoBtnChiPhiPhatSinh_PhanTram_Click(object sender, EventArgs e)
2118         {
2119             
// txtChiPhiPhatSinh_PhanTram.Focus();
2120         }
2121
2122         
/*
2123         
private void rdoBtnChiPhiPhatSinh_TienMat_Click(object sender, EventArgs e)
2124         {
2125             txtChiPhiPhatSinh_TienMat.Focus();
2126         }
2127
2128          */

2129         
private void txtChietKhau_TienMat_MouseCaptureChanged(object sender, EventArgs e)
2130         {
2131             
//thao tac boi den textbox
2132             rdoBtnChietKhau_TienMat.Checked =
true;
2133             
//cho phep thay doi textbox
2134             loadlandau =
false;
2135         }
2136
2137         
private void txtChietKhau_PhanTram_MouseCaptureChanged(object sender, EventArgs e)
2138         {
2139             
//thao tac boi den textbox
2140             rdoBtnChietKhau_PhanTram.Checked =
true;
2141             
//cho phep thay doi textbox
2142             loadlandau =
false;
2143         }
2144
2145         
private void txtThanhToan_Click(object sender, EventArgs e)
2146         {
2147             btnThanhToan.Enabled =
true;
2148             loadlandau =
false;
2149         }
2150
2151         
private void txtThanhToan_MouseCaptureChanged(object sender, EventArgs e)
2152         {
2153             
//thao tac boi den textbox
2154             btnThanhToan.Enabled =
true;
2155             loadlandau =
false;
2156         }
2157
2158         
private void cmbDonViTinh_MouseClick(object sender, MouseEventArgs e)
2159         {
2160             
//click vao thi hien thi dropdow
2161             cmbDonViTinh.DroppedDown =
true;
2162         }
2163
2164         
//cần xem lại hàm này ==============
2165         
private int NhaCungCap_KiemTraTonTai()
2166         {
2167             _SoDienThoai_NCC = txtSoDienThoaiNCC.Text.Trim();
2168             _HoVaTen_NCC = txtHoVaTenNCC.Text.Trim();
2169             _DiaChi_NCC = txtDiaChiNcc.Text.Trim();
2170
2171             
if (_getNhaCungCapId == 0)
2172             {
2173                 
2174                 
//Nhà cung cấp đã có trong csdl
2175                 _getNhaCungCapId = Controllers.NhaCungCapCtrl.InsertNhaCungCap(_getNhaCungCapId, _TrangThai_NCC, _NgayTao, _HoVaTen_NCC, _SoDienThoai_NCC, _DiaChi_NCC, _TenCongTy_NCC, _Dc_Email_NCC, _NgayThanhLap_NgaySinh_NCC, _AnhDaiDien, _GhiChu_NCC);
2176                 
//nhà cung cấp chưa có trong csdl
2177             }
2178             
else
2179             {
2180                 
//update nha cung cap
2181                 Controllers.NhaCungCapCtrl.UpdateNhaCungCap_HoTenVaDc(_getNhaCungCapId, _TrangThai_NCC, DateTime.Now, _HoVaTen_NCC, _SoDienThoai_NCC, _DiaChi_NCC);
2182
2183             }
2184
2185             
return _getNhaCungCapId;
2186         }
2187
2188         
private double TongTienMotDonHang_All(int IdNhapHang)
2189         {
2190             DataTable dtKho =
new DataTable();
2191             
2192             
double tongDh = 0;
2193
2194             dtKho = Controllers.NhapHangCtrl.FillDataSet_NhapHang_GetAll_Kho_ByNhapHangId(IdNhapHang).Tables[
0];
2195             
if (dtKho.Rows.Count > 0)
2196             {
2197                 
double gnhap = 0;
2198                 
double sluong = 0;
2199                 
double thue = 0;
2200                 
double ckPt = 0;
2201                 
string chietkhautheo = "";
2202
2203                 
double tienchietkhau = 0;
2204
2205                 
foreach (DataRow item in dtKho.Rows)
2206                 {
2207                     gnhap =
double.Parse(item["GiaNhap"].ToString());
2208                     sluong =
double.Parse(item["SoLuong"].ToString());
2209                     thue =
double.Parse(item["Thue"].ToString());
2210                     ckPt =
double.Parse(item["ChietKhauPhanTram"].ToString());
2211                     chietkhautheo = item[
"ChietKhauTheo"].ToString();
2212                     tienchietkhau =
double.Parse(item["TienChietKhau"].ToString());
2213
2214                     tongDh += CauHinhHeThong.TinhTongMot_MatHang(gnhap, sluong, ckPt, tienchietkhau, chietkhautheo, thue);
// (gnhap * sluong) - tienchietkhau + (gnhap * sluong * thue / 100);
2215                 }
2216
2217             }
2218
2219             
return tongDh;
2220         }
2221         
2222         
2223         
//Tính tổng tiền của một đơn hàng cần thanh toán
2224         
private double TongTienMotDonHang_TruMotMatHang(int IdNhapHang, int IdKho)
2225         {
2226             DataTable dtKho =
new DataTable();
2227             
//tongTienMot_DonHang_TruMatHangDangEdit = 0;
2228             
//tongTienMot_MatHang_DangEdit = 0;
2229
2230             
double tongDh = 0;
2231
2232             dtKho = Controllers.NhapHangCtrl.FillDataSet_NhapHang_GetAll_Kho_ByNhapHangId(IdNhapHang).Tables[
0];
2233             
if (dtKho.Rows.Count > 0)
2234             {
2235                 
double gnhap = 0;
2236                 
double sluong = 0;
2237                 
double thue = 0;
2238                 
double ckPt = 0;
2239                 
string chietkhautheo = "";
2240
2241                 
double tienchietkhau = 0;
2242
2243                 
foreach (DataRow item in dtKho.Rows)
2244                 {
2245                     
if (Int32.Parse(item["IdKho"].ToString()) != IdKho)
2246                     {
2247                         gnhap =
double.Parse(item["GiaNhap"].ToString());
2248                         sluong =
double.Parse(item["SoLuong"].ToString());
2249                         thue =
double.Parse(item["Thue"].ToString());
2250                         ckPt =
double.Parse(item["ChietKhauPhanTram"].ToString());
2251                         chietkhautheo = item[
"ChietKhauTheo"].ToString();
2252                         tienchietkhau =
double.Parse(item["TienChietKhau"].ToString());
2253
2254                         tongDh += CauHinhHeThong.TinhTongMot_MatHang(gnhap, sluong, ckPt, tienchietkhau, chietkhautheo, thue);
// (gnhap * sluong) - tienchietkhau + (gnhap * sluong * thue / 100);
2255
2256                     }
2257                 }
2258
2259             }
2260
2261             
return tongDh;
2262         }
2263
2264          
2265
2266         
private void txtGiaNhap_Click(object sender, EventArgs e)
2267         {
2268             
//cho phep thay doi textbox
2269             loadlandau =
false;
2270         }
2271
2272         
private void txtGiaNhap_MouseCaptureChanged(object sender, EventArgs e)
2273         {
2274             
//cho phep thay doi textbox
2275             loadlandau =
false;
2276         }
2277
2278         
private void txtSoLuong_MouseCaptureChanged(object sender, EventArgs e)
2279         {
2280             
//cho phep thay doi textbox
2281             loadlandau =
false;
2282         }
2283
2284         
private void txtSoLuong_Click(object sender, EventArgs e)
2285         {
2286             
//cho phep thay doi textbox
2287             loadlandau =
false;
2288         }
2289
2290         
/*
2291         //x0a
2292         
private double TongTienMot_MatHang_GetForm(string _txtGiaNhap, string _txtSoLuong, string _chietKhauPhanTram, string _chietKhauTien, string _ckTheo, double _txtthue)
2293         {
2294             
double gNhap = 0;
2295             
double sLuong = 0;
2296             
double cKhauPt = 0;
2297             
double tienCK = 0;
2298
2299             
double tongTMotMatHang_GetForm = 0;
2300
2301             
if (!string.IsNullOrEmpty(_txtGiaNhap))
2302             {
2303                 gNhap =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtGiaNhap));
2304             }
2305
2306             
if (!string.IsNullOrEmpty(_txtSoLuong))
2307             {
2308                 sLuong =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtSoLuong));
2309             }
2310
2311             
if (!string.IsNullOrEmpty(_chietKhauPhanTram))
2312             {
2313                 cKhauPt =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauPhanTram));
2314             }
2315
2316             
if (!string.IsNullOrEmpty(_chietKhauTien))
2317             {
2318                 tienCK =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauTien));
2319             }
2320
2321
2322             
if (_ckTheo == "PhanTram")
2323             {
2324                 tongTMotMatHang_GetForm = (gNhap * sLuong) + (gNhap * sLuong * _txtthue /
100) - (gNhap * sLuong * cKhauPt / 100);
2325             }
2326             
else
2327             {
2328                 //chiet khau theo tien
2329                 tongTMotMatHang_GetForm = (gNhap * sLuong) + (gNhap * sLuong * _txtthue /
100) - tienCK;
2330             }
2331
2332             
return tongTMotMatHang_GetForm;
2333         }
2334          */

2335
2336         
/*
2337         //xoa
2338         
private double TongTienMot_MatHang_GetDgv(string _txtGiaNhap, string _txtSoLuong, string _chietKhauPhanTram, string _chietKhauTien, string _ckTheo, double _txtthue)
2339         {
2340             
double gNhap = 0;
2341             
double sLuong = 0;
2342             
double cKhauPt = 0;
2343             
double tienCK = 0;
2344
2345             
double tongTMotMatHang_GetDgv = 0;
2346
2347             
if (!string.IsNullOrEmpty(_txtGiaNhap))
2348             {
2349                 gNhap =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtGiaNhap));
2350             }
2351
2352             
if (!string.IsNullOrEmpty(_txtSoLuong))
2353             {
2354                 sLuong =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_txtSoLuong));
2355             }
2356
2357             
if (!string.IsNullOrEmpty(_chietKhauPhanTram))
2358             {
2359                 cKhauPt =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauPhanTram));
2360             }
2361
2362             
if (!string.IsNullOrEmpty(_chietKhauTien))
2363             {
2364                 tienCK =
double.Parse(CauHinhHeThong.Format_NumberKieuSo_DeTinhToan_HoacLuuLai(_chietKhauTien));
2365             }
2366
2367
2368             
if (_ckTheo == "PhanTram")
2369             {
2370                 tongTMotMatHang_GetDgv = (gNhap * sLuong) + (gNhap * sLuong * _txtthue /
100) - (gNhap * sLuong * cKhauPt / 100);
2371             }
2372             
else
2373             {
2374                 //chiet khau theo tien
2375                 tongTMotMatHang_GetDgv = (gNhap * sLuong) + (gNhap * sLuong * _txtthue /
100) - tienCK;
2376             }
2377
2378             
return tongTMotMatHang_GetDgv;
2379         }
2380
2381          */

2382
2383         
//-https://stackoverflow.com/questions/17664576/multiplication-of-the-values-of-two-textboxes-and-displaying-result-in-the-third
2384         
private double TongMotMH_GetForm()
2385         {
2386             
double gNhap = 0;
2387             
double sLuong = 0;
2388             
double cKhauPt = 0;
2389             
double tienCK = 0;
2390
2391             
double tongGetForm = 0;
2392
2393             
bool isGNhap = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text.Trim(), true).ToString(), out gNhap);
2394             
bool isSLuong = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(), true).ToString(), out sLuong);
2395             
bool isCkPt = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(), true).ToString(), out cKhauPt);
2396             
bool isCKTm = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(), true).ToString(), out tienCK);
2397
2398             _thueMotMatHang =
double.Parse(cmbThue.SelectedValue.ToString());
2399
2400             
if (isGNhap && isSLuong && isCkPt && isCKTm)
2401             {
2402                 tongGetForm = CauHinhHeThong.TinhTongMot_MatHang(gNhap, sLuong, cKhauPt, tienCK,
this.ChietKhau_Theo, _thueMotMatHang);
2403             }
2404             
else
2405             {
2406                 tongGetForm =
0;
2407             }
2408
2409             
return tongGetForm;
2410         }
2411
2412
2413         
private void HienThiDonHangTextChanged()
2414         {
2415             
double tong1mh = 0;
2416             tong1mh =
this.TongMotMH_GetForm();
2417
2418             
//return tong1mh;
2419             lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh,
true);
2420
2421             _tongDonHangAll = tong1mh + _tongDonHang;
2422
2423             txtTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(_tongDonHangAll,
true);
2424         }
2425
2426         
/*
2427         
private void HienThiDonHangView()
2428         {
2429             
double tong1mh = 0;
2430             tong1mh =
this.TongMotMH_GetForm();
2431
2432             //
return tong1mh;
2433             lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh);
2434
2435             
double tong1donh = tong1mh + _tongDonHang;
2436
2437             lblTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1donh);
2438         }
2439         */

2440
2441         
/*
2442         
private void HienThiTong_MotMH(int IdK)
2443         {
2444             
double tong1mh = 0;//
2445             
double tong1donh = 0;// this.TongTienThanhToanTrongDonHang(_IdNhapHang, _IdKho);
2446
2447             tong1mh =
this.TongMotMH_GetForm();
2448
2449             /*
2450             
if (IdK == 0)
2451             {
2452                 tong1donh =
this.TongTienThanhToanTrongDonHang(_IdNhapHang, 0);
2453             }
2454             
else
2455             {
2456                
2457                tong1donh =
this.TongTienThanhToanTrongDonHang(_IdNhapHang, _IdKho);
2458                tong1donh = tong1donh + tong1mh;
2459             }
2460              *
2461
2462             tong1donh =
this.TongTienMotDonHang_TruMotMatHang(_IdNhapHang, _IdKho);
2463             tong1donh = tong1donh + tong1mh;
2464             
2465
2466             lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh);
2467
2468             //lblTongTienDonHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1donh);
2469         }
2470         */

2471         
private double ChietKhau_GetForm()
2472         {
2473             
double gNhap = 0;
2474             
double sLuong = 0;
2475             
double cKhauPt = 0;
2476             
double tienCK = 0;
2477             
double ck = 0;
2478
2479             
bool isGNhap = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtGiaNhap.Text.Trim(), true).ToString(), out gNhap);
2480             
bool isSLuong = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtSoLuong.Text.Trim(), true).ToString(), out sLuong);
2481             
bool isCkPt = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_PhanTram.Text.Trim(), true).ToString(), out cKhauPt);
2482             
bool isCKTm = double.TryParse(CauHinhHeThong.Format_SoDeTinhToan(txtChietKhau_TienMat.Text.Trim(), true).ToString(), out tienCK);
2483
2484             
if (ChietKhau_Theo == "PhanTram")
2485             {
2486                 ck = CauHinhHeThong.TinhTienChietKhau(gNhap, sLuong, cKhauPt);
2487             }
2488             
else
2489             {
2490                 ck = CauHinhHeThong.TinhPhanTramChietKhau(gNhap, sLuong, tienCK);
2491             }
2492
2493             
return ck;
2494         }
2495
2496         
private void btnNhapMoi_Click(object sender, EventArgs e)
2497         {
2498             _getNhapHangId =
0;//them moi don hang
2499
2500             
//Khoi sang tab sanh sách sản phẩm
2501             tabControlNhapHang.SelectedTab = tabPageDanhSachNhapHang;
2502
2503             
//Nhập thêm hàng vào kho
2504             
this.HienThiDanhSachSanPham_Kho_ByIdNhapHang(_getNhapHangId, 0, "");
2505
2506             lblTrangThaiDonHang.Text =
"Thêm đơn hàng";
2507
2508             txtnoNCC.Text =
"0";
2509             txtTienDaThanhToan.Text =
"0";
2510             txtThanhToan.Text =
"0";
2511             
2512         }
2513
2514         
private void GetValue_ThongTinNCC(int idNhaCungCap, string hoVaTen, string soDienThoai, string diaChi, bool btnTrangThai)
2515         {
2516             
if (btnTrangThai == true)
2517             {
2518                 _getNhaCungCapId = idNhaCungCap;
2519                 txtSoDienThoaiNCC.Text = soDienThoai;
2520                 txtHoVaTenNCC.Text = hoVaTen;
2521                 txtDiaChiNcc.Text = diaChi;
2522                 
//Hien lable dia chi
2523                 lblDiaChiNcc.Visible =
true;
2524             }
2525         }
2526
2527         
2528
2529         
private void linkLabel_ChiTietThanhToan_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
2530         {
2531             
//khong hien popup thanh toan khi idnhap hang = 0
2532             
if (_getNhapHangId == 0)
2533             {
2534                 MessageBox.Show(
"Không có lịch sử thanh toán!");
2535                 
return;
2536             }
2537
2538             
//frmNhapHang_ThanhToan frmNH_TT = new frmNhapHang_ThanhToan(_IdNhapHang, "tbl_NhapHang");
2539             frmNhapHang_ThanhToan frmNH_TT =
new frmNhapHang_ThanhToan(_getNhapHangId, "tbl_NhapHang");
2540             
//lay so tien da thanh toan
2541             
2542
2543             frmNH_TT.ShowDialog();
2544
2545             
2546             dttt = Controllers.ThanhToanCtrl.FillDataSet_GetThanhToan_GetTongTien(
0, _getNhapHangId, "tbl_NhapHang").Tables[0];
2547
2548             
if (dttt.Rows.Count > 0)
2549             {
2550                 
2551                 tienDtt = CauHinhHeThong.Format_SoDeTinhToan(dttt.Rows[
0]["TongSoTienThanhToan"].ToString(), false);
2552
2553                 txtTienDaThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(tienDtt,
true);
2554             }
2555
2556         }
2557
2558         
private void txtMaVietTat_KeyDown(object sender, KeyEventArgs e)
2559         {
2560             
if (e.KeyCode == Keys.Enter)
2561             {
2562                 e.SuppressKeyPress =
true;
2563
2564                 txtMaSanPham.Text =
string.Empty;
2565
2566                 
this.EnterSanPham(false);
2567
2568             }
2569         }
2570
2571         
/*
2572
2573         
private void dgvThue_CellEndEdit(object sender, DataGridViewCellEventArgs e)
2574         {
2575             
if (cbm != null)
2576             {
2577                 // Here we will
remove the subscription for selected index changed
2578                 cbm.SelectedIndexChanged -=
new EventHandler(cbm_SelectedIndexChanged);
2579             }
2580         }
2581         */

2582         
//--https://www.daniweb.com/programming/software-development/threads/452140/is-there-a-datagridview-event-when-a-combobox-value-changes
2583         
//private void dgvThue_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
2584         
//{
2585             
/*
2586             // Here
try to add subscription for selected index changed event
2587             
if (e.Control is ComboBox)
2588             {
2589                 cbm = (ComboBox)e.Control;
2590                 
if (cbm != null)
2591                 {
2592                     cbm.SelectedIndexChanged +=
new EventHandler(cbm_SelectedIndexChanged);
2593                 }
2594                 currentCell =
this.dgvThue.CurrentCell;
2595             }
2596              */

2597         
//}
2598
2599         
/*
2600         
private void combo_SelectedIndexChanged(object sender, EventArgs e)
2601         {
2602             
string selected = (sender as ComboBox).SelectedItem.ToString();
2603
2604             MessageBox.Show(selected);
2605
2606             //lấy id
2607             BeginInvoke(
new MethodInvoker(EndEdit));
2608            
2609
2610         }
2611         */

2612        
2613         
2614
2615         
void cbm_SelectedIndexChanged(object sender, EventArgs e)
2616         {
2617             
// Invoke method if the selection changed event occurs
2618             BeginInvoke(
new MethodInvoker(EndEdit));
2619         }
2620
2621         
void EndEdit()
2622         {
2623             
// Change the content of appropriate cell when selected index changes
2624             
/*
2625             
if (cbm != null)
2626             {
2627                 DataRowView drv = cbm.SelectedItem
as DataRowView;
2628                 
if (drv != null)
2629                 {
2630                     
this.dgvThue[currentCell.ColumnIndex + 1, currentCell.RowIndex].Value = drv[2].ToString();
2631                     
this.dgvThue.EndEdit();
2632                 }
2633             }
2634              */

2635         }
2636
2637         
private void cmbThue_SelectionChangeCommitted(object sender, EventArgs e)
2638         {
2639             
//double tong1mh = 0;
2640             
//tong1mh = this.TongMotMH_GetForm();
2641
2642             
//return tong1mh;
2643             
//lblTongTienMotMatHang.Text = CauHinhHeThong.Format_SoDeHienThi(tong1mh, true);
2644
2645             
this.HienThiDonHangTextChanged();
2646         }
2647
2648         
private void linkLabel_QuanLyDonViTinh_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
2649         {
2650             frmDonViTinh frmdvt =
new frmDonViTinh();
2651
2652             frmdvt.ShowDialog();
2653
2654             
this.HienThiDonViTinh_ComboBox();
2655
2656         }
2657
2658         
private int DonHangDangNhap_La()
2659         {
2660             
try
2661             {
2662                 _TenDonHang = txtTenDonHang.Text.Trim();
2663             }
2664             
catch { }
2665             
2666             
try
2667             {
2668                 _GhiChu = txtGhiChu.Text.Trim();
2669             }
2670             
catch { }
2671             
2672
2673             
//Kiểm tra khởi tạo bảng nhập hàng
2674             
if (_getNhapHangId == 0)
2675             {
2676                 _getNhapHangId = Controllers.NhapHangCtrl.InsertNhapHang(
0, _NgayTao, _TrangThai_NH, _GiamGiaDonHang, _GiamGiaTatCaCacMuc, _TongDonHang, _noNhaCc, _NCC_NoChuCuaHang, _GhiChu, _getNhaCungCapId, _ChiPhiThem, _MoTaChiPhiThem, _tienThanhToan, _TenDonHang);
2677
2678                 _thueMotMatHang =
0;
2679
2680                 cmbThue.SelectedValue =
"0";
2681
2682                 
//tc = Controllers.CongNoCtrl.InsertCongNo(_IdCongNo, _TieuDe, _LoaiThuChi, _NgayTao, "SuDung", _SoTien, thueThuChi, _DienGiai, "", "0", "0", _GhiChu, _HinhThuc, _getNhapHangId);
2683
2684             }
2685             
else
2686             {
2687                 Controllers.NhapHangCtrl.UpdateNhapHang_Ten_GhiChu(_getNhapHangId, _TenDonHang, _GhiChu);
2688             }
2689            
2690
2691             
return _getNhapHangId;
2692
2693         }
2694
2695         
//Hiển thị thông tin nhập hàng
2696         
private void HienThiThongTinDonHang_NhapHang(int idNhapHang)
2697         {
2698             
//Hiển thị trong textbox
2699             DataTable dtNH =
new DataTable();
2700             dtNH = Controllers.NhapHangCtrl.FillDataSet_NhapHang_Get_ByNhapHangId(idNhapHang).Tables[
0];
2701
2702             
//double No_NCC = 0;
2703             
if (dtNH.Rows.Count > 0)
2704             {
2705                 
//txtMaDonHang.Text = "DH" + idNhapHang.ToString();
2706
2707                 txtTenDonHang.Text = dtNH.Rows[
0]["TenDonHang"].ToString();
2708
2709                 
//double cpthem = CauHinhHeThong.Format_SoDeTinhToan(dtNH.Rows[0]["ChiPhiThem"].ToString(), false);
2710
2711                 
//txtChiPhiPhatSinh_TienMat.Text = CauHinhHeThong.Format_SoDeHienThi(cpthem, true);
2712
2713                 
//txtMoTaChiPhiPhatSinh.Text = dtNH.Rows[0]["MoTaChiPhiThem"].ToString();
2714
2715                 txtGhiChu.Text = dtNH.Rows[
0]["GhiChu"].ToString();
2716
2717                 
//txtNgayTao.Text = dtNH.Rows[0]["NgayTao"].ToString();
2718
2719                 
//labelTrangThai.Text = CauHinhHeThong.TrangThai_NhapHang(dtNH.Rows[0]["TrangThai"].ToString());
2720             }
2721             
else
2722             {
2723                 txtTenDonHang.Text =
"";
2724
2725                 txtGhiChu.Text =
"";
2726             }
2727         }
2728
2729         
//
2730
2731     }
2732 }


Gõ tìm kiếm nhanh...